1.1.1后台代码和jsp代码一起部署在中间件(代码托管?)中,通过浏览器访问 1.2前后端分离,做controller,提供资源地址,把前端想要的数据封装到json中,(HTML5很方便的打包成App)
1.2.1 单一系统 1.2.2 微服务器开发(添加新功能,用分布式添加一个新系统){ 异步交互:MQ 同步交互:RPC(cloud/dubbo)/WebService/Http }
1.3.1 单一服务器 1.3.2 集群/负载均衡(使用到了路由转发)
SpringBoot
可以快速开发项目
遵循它的规范就可以减少不必要的配置
因为其开发简单效率高,经常用于开发微服务
shiro
HttpClient
网络爬虫
服务器调用其他浏览器数据,代替JsonP?
服务器与服务器进行通讯
webService
dubbo
noSQL(Redis)
集群
linux
单点登录
1.1.1 Dubbo(RPC标准) 使用socket进行传输 注册服务器Zookeeper(用来维护服务器之间的关系,类似于交换机) (1)导包(zookeeper/dubbo/client) (2)启动注册服务器 zoo.cfg 修改端口号 观察者,内部使用树结构 (2)dubbo服务器 类 配置(提供信息/注册服务器地址/端口号/需要暴露的接口) (3)客户端 类(接口,包名类名和服务器一样) 配置(提供信息/服务器/端口号/需要暴露的接口check=false,Spring用的Id) 1.1.2 MQ 1.1.3 Cloud
1.2.1 HttpClient
HttpClient httpClient = HttpClients.createDefault(); HttpGet get = new HttpGet(path); HttpResponse response = httpClient.execute(get); // 获得返回内容 HttpEntity entity = response.getEntity(); // 把内容转换为字符串 String str = EntityUtils.toString(entity, "UTF-8");
使用tcp xml传输 RPC远程调用过程,使用XML传输跨平台,会有安全问题 所以创建了SOAP (1)产生 wsdl Endpoint.publish("http://192.168.1.188:8080/getMessage", new GetMessageImpl()); 浏览器访问即可:+wsdl(http://192.168.1.188:8080/getMessage?wsdl) Spring Cxf (2)使用MyEclipse根据XML生成相关的类 创建GetMessageImpl类(由GetMessageImplService生成),调用约定的方法
负载均衡机制 集群和负载均衡{ 1.集群是多个服务器组合成一个系统,对外看是一个系统 2.负载均衡是多个服务器代码相同 session同步/同一个IP访问同一个服务器 1.nginx 2.配置 upstream 域名 注册的服务器 ip_hash 使用ip来分派不同步session 3.listen 端口 }
服务器搭建:
1.集群(使用RPC,WS,MQ等方式通讯),外部看来是一个系统
2.负载均衡 多个服务器代码相同
1.session 同步
2.固定IP
NOSQL
关系型数据库
非关系型数据库
mongoSQL
Redis
key-value/效率很高 支持String/list/set/zset key-value模式:value可以存放二进制,可以设置过期时间 hset key-filed-value 存放对象 list 队列和堆栈的形式 set 集合,可以求差集和并集 sort set 有序集合 排行版 订阅发布 publish/psubscribe ...
jedis
java来使用redis
内存数据库
SQLite
主数据库 CRUD
从数据库 READ
多系统共存的情况下 用户在一个地方登陆就不用在其他地方登陆
jsonP实现单点登录
linux
转载请标明出处:J2EE架构复习
文章来源: J2EE架构复习