J2EE架构复习

J2EE架构

1.实际项目中项目存在的形式:

1.1开发方式

1.1.1后台代码和jsp代码一起部署在中间件(代码托管?)中,通过浏览器访问
1.2前后端分离,做controller,提供资源地址,把前端想要的数据封装到json中,(HTML5很方便的打包成App)

1.2架构方式

1.2.1 单一系统
1.2.2 微服务器开发(添加新功能,用分布式添加一个新系统){
    异步交互:MQ
    同步交互:RPC(cloud/dubbo)/WebService/Http
}

1.3部署方式

1.3.1 单一服务器
1.3.2 集群/负载均衡(使用到了路由转发)

SpringBoot

可以快速开发项目
遵循它的规范就可以减少不必要的配置
因为其开发简单效率高,经常用于开发微服务

shiro

1.配置URL

2.配置回调函数

HttpClient

网络爬虫
服务器调用其他浏览器数据,代替JsonP?
服务器与服务器进行通讯

webService
dubbo
noSQL(Redis)
集群
linux
单点登录

分布式(服务器之间的通讯)

1.1Tcp协议(服务器之间交流建议使用)

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.2Http协议(只需要获取使用)

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");
1.2.2 WebService SOAP(简单的对象访问协议)
使用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

猜你喜欢

转载自blog.csdn.net/howroad/article/details/80455396