- 浏览: 60623 次
- 性别:
- 来自: 上海
最新评论
文章列表
session跨域共享
- 博客分类:
- mvc_view
多个tomcat服务,使用nginx负载均衡
同一个服务器配置,多个tomcat:
package org.xdemo.example.SpringActivemq.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org ...
需求:
登录前可以添加,购物车。
登录后合并购物车。
多个平台使用同一个购物车。
解决方案:
购物车信息临时保存在cookie中,登陆后与数据库数据合并信息,
注意的是多个平台因为使用不同域名,所以cookie不同,需要建立用户中心服务,统一管理购物车信息,不同域名使用jsonp跨域访问用户中心,使用用户中心统一的cookie保存购物车信息,实现购物车共享。
序列化与反序列化
- 博客分类:
- mvc_controller
分布式接口技术: webService,RMI,阿里json,谷歌msgpack
定义:
Serillization序列化 是一种对象按照一定规则生成出一连串的字符过程。
Deserialization反序列化 是一种将这些字符重新建成一个内存对象的过程。
场景:
当把内存中的对象保存到一个文件或者数据库的时候(持久化)。
当你需要在跨平台的环境下,通过网络传输对象的时候(webService soap)。
当你通过RMI传输对象的时候。
实现方式:
将要序列化的类实现Serializable接口就可以了。
Serializable没有任何方法,就是一个标记,表明这个类可以被实例化。
例 ...
CAS实现单点登录(SSO)完整步骤
- 博客分类:
- mvc_view
教程目的:从头到尾细细道来单点登录服务器及客户端应用的每个步骤
生成证书前需要配置证书:
1、生成证书
用JDK自带的keytool工具生成证书:
D盘下创建keys文件,不需要创建hailong
命令:keytool -genkey -alias(别名)hailong -keyalg RSA -keystore D:/keys/hailong
hailong 是证书别名
2、导出证书
命令:C:\>keytool -export -file d:/keys/hailongCRT.crt -alias hailong(别名要一致) -keystore d:/keys/hail ...
原理和协议
基础模式
基础模式 SSO 访问流程主要有以下步骤:
CAS 最基本的协议过程:
1. 访问服务: SSO 客户端发送请求访问应用系统提供的服务资源。
2. 定向认证: SSO 客户端会重定向用户请求到 SSO 服务器。
3. 用户认证:用户身份认证。
4. 发放票据: SSO 服务器会产生一个随机的 Service Ticket 。
5. 验证票据: SSO 服务器验证票据 Service Ticket 的合法性,验证通过后,允许客户端访问服务。
6. 传输用户信息: SSO 服务器验证票据通过后,传输用户认证结果信息给客户端。
辅助说明
CAS 的 SSO 实现方式可简化理解 ...
1.启动zookeeper
2.两个工程,生产者privoder,消费者consumer
3.引入jar包
dubbo-2.8.3.jar包
netty-3.7.0.Final.jar包 dubbo和zookeeper通讯使用。
zkclient-0.4.jar
zookeeper-3.4.9.jar
4.生产者已接口的形式暴漏给大家。
生产者里提供服务server,消费者是用服务是controller
5.生产提供者相关文件:
dubbo-provider.xml配置文件
6.消费者相关文件:
dubbo-provider.xml配置文件
7.一般先启动生产者,后启动消费者。
8.网 ...
nginx在centos部署
- 博客分类:
- nginx
nginx作一个web服务器
一个负载均衡的服务器
做邮件代理服务器 用c++写的 性能非常好的
一.nginx安装与简单使用
1.下载nginx:
tar.gz文件 http://nginx.org/
解压到centos
2.安装nginx:
./configure --prefix=/usr/local/nginx
安装时可能错误提示:
./con ...
spring默认从本地加载XSD文件
spring在启动的时候会验证 xml文档,这些引入的schema即用来验证配置文件的xml文档语法的正确性。
Spring默认在启动时是要加载XSD文件来验证xml文件的,所以如果有的时候断网了,或 者一些开源软件切换域名,那么就很容易碰到应用启动不了,为了防止这种情况,Spring提供了一种机制,默认从本地加载XSD文件。
doGetBean加载机制:
1.读取缓存
2.加载父类
3.如果当前Bean有依赖Bean
递归调用getBean方法,获取当前Bean的依赖Bean,加载依赖
https://www.cnblogs.com/ITtangt ...
数据库中间件 点评zebar 阿里cobar 我用过的mycat
消息中间件 阿里的rockmq
CentOS:
产看版本
输入lsb_release -a
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 6.8 ...
分类:
硬负载均衡 在服务器节点之间安装专门的硬件进行负载均衡的工作,f5负载均衡器。
软负载均衡 通过在服务器上安装的特定的负载均衡软件或是自带负载均衡模块完成对请求的分配派发。
策略:
1.轮询。
作为非常经典的负载均衡策略,早期该策略应用地非常广泛。其原理很简单,给每个请求标记一个序号,然后将请求依次派发到服务器节点中,适用于集群中各个节点提供服务能力等同且无状态的场景。
2.随机。
与轮询相似,只是不需要对每个请求进行编号,每次随机取一个。同样地,该策略也将后端的每个节点是为等同的。另外同样也有改进的加权随机的算法,不再赘述。
3.最小响应时间。
通过记录每次请求所需的时间,得出平均的 ...
一.单体测试总结
1.有回滚
Spring创建容器的时候所有的插入修改不生效,顺利回滚。
@TransavtionConfiguration(defaultRollback = true)
@Transactional
保证可以无限次运行测试类
2.要有assert
结果比较
Assert.assertTrue(result == null);
另 可以mock运行中的值
3.多线程测试
引入jdk中的 countDownLatch(100);
for(int i=0;i<14;i++){
Thread t = new Thread(new ExcteThread())
t.star ...
前期认识
1.lucence:jar包 组成组件 它不是一套完整搜索引擎服务,他里面提供了很多
一些概念方面的抽象,是没有具体实现
2.solr是一种全文搜索引擎,是一套完整的企业级分布式搜索和搜索引擎
是一个企业级,电商平台全文搜索。
国内知名电商平台搜索各种数据 nosql,数据变化不大不像附近人在变,毕竟固定。
全文检索
命中表示
分页搜索
动态聚类
数据集成
富文本处理
高扩展
3.es(Elasticseach)是一种基于lucence的搜索引擎,他和solr区别在于,solr是对已有
各种数据的检索非常稳定高效,es主要是在做实时搜索,搜索的数据量可能随便
变化,他是比solr ...
jetty都比tomcat高
一.j2ee制定规范者 开发tomcat 经过一些配置做一个大型集群
二.更改配合兼容性优化配置,很深很细颗粒度控制 nginx+tomcat集群
相当多的本身tomcat内部优化很多。
优化一:4.禁用AJP连接器 达到集群处理时间大大手段 ...
遇到问题1:
启动报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
如果你是maven项目,tomcat在发布项目的时候没有同时发布maven依赖所添加的jar包,
你需要设置一下eclipse:
项目 —> 属性 -> Deployment Assembly -> Add -> Java Build Path Entries -> 选择Maven Dependencies -> Finish -> OK
把对应的Maven ...
ActiveMQ持久化MySql配置
- 博客分类:
- MQ
apache-activemq-5.11.1-bin.zip
activemq.xml文件配置:
<!-- START SNIPPET: example -->
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/bean ...