springcloud网站架构演变和服务治理

SpringCloud

一、网站架构演变

传统架构

基于SSH或者SSM架构的一种业务没有进行拆分的单点应用,一般分为web控制层、业务逻辑层、数据库访问分层。适用于个人或者是小团队的开发

缺点:一旦有一个模块导致服务不可用,可能会影响整个项目

分布式架构

将传统的模块按照项目模块(会员项目、订单项目、支付项目…)进行划分,从而降低耦合

SOA架构

将共同的业务逻辑抽取出来形成一个服务,提供接口给其他服务进行调用,服务与服务之间调用rpc远程技术

SOA架构特点:

1.SOA架构中通常使用XML方式实现通讯,在高并发情况下XML比较冗余会带来极大的影响,所以最后微服务架构中采用JSON替代xml方式

2.SOA架构的底层实现通过WebService和ESB(xml与中间件混合物),Web Service技术是SOA服务化的一种实现方式,WebService底层采用soap协议进行通讯,soap协议就是Http或者是Https通道传输XML数据实现的协议。

微服务架构

springcloud网站架构演变和服务治理

二、服务治理

什么是服务治理

在传统的rpc远程调用中,服务与服务依赖关系,管理起来比较复杂,因此需要使用服务治理来管理服务与服务之间的依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册

服务发现与注册

在服务注册与发现中,有一个注册中心,当服务器启动的时候,会把当前自己服务器的信息 比如 服务地址通讯地址等以别名方式注册到注册中心上。
另一方(消费者|服务提供者),以该别名的方式去注册中心上获取到实际的服务通讯地址,让后在实现本地rpc调用远程。