SOA思想
1.SOA思想介绍
面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构件在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。
核心概念: 面向服务的架构.
特点:
1.分布式的思想根据业务进行拆分.
2.服务于服务之间通过接口进行联系.
3.接口采用独立的方式进行定义.
传统服务调用过程
传统调用方式有哪些弊端:
1.如果后台服务器宕机,则nginx会采用高可用机制,每隔一段时间,则都会去访问故障机.
2.nginx中可以配置down属性,来剔除故障机. 但是该属性需要人为的配置.
3.如果nginx服务器宕机,则直接影响全部的服务运行.
服务调用优化
1.让nginx只做核心业务 —反向代理. 至于业务的负载均衡能否有一种专门的机制代替nginx完成.减轻nginx的压力.
2.如果后台服务器宕机,能否提供一种智能(无需人为操作)的解决方案?
使用注册中心完成业务的负载均衡:
注册中心作用
利用注册中心,可以动态的管理服务器.内部有心跳检测机制.可以实现后台服务器的实时监控.
注册中心调用过程,如下图所示:
注册中心的调用过程:
- 当服务提供者启动时,会将自己的服务信息(服务名称/IP地址/端口号等)写入注册中心.
- 当注册中心接收提供者数据时,会动态的维护服务列表数据
注册中心的调用过程:
. - 当消费者启动时,首先会链接注册中心.获取服务列表数据.
- 当注册中心接收到消费者的请求之后,先将消费者的信息进行记录. 将服务列表信息发给消费者.
- 当消费者接收注册中心发来的数据之后,将数据保存到消费者本地.至此消费者启动完成. 等待用户的
调用. - 当消费者接收调用时,则根据服务列表数据找到可以提供服务的提供者,之后利用负载均衡算法,挑选
其中一个进行访问. - 注册中都有心跳检测机制. 当服务