1 微服务思想
1.1 SOA思想
面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。
核心理念: 服务松耦合的思想…
1.2 RPC
RPC是远程过程调用(Remote Procedure Call)的缩写形式。
1.本地过程调用
完成业务时,如果可以调用自己的方法完成.称之为本地过程调用(自己调用自己的方法 同一个服务器中)
2.远程过程调用
完成业务时,自己的方法不能操作或者没有该功能时,需要调用别人的服务器(方法)来完成业务.(不同的服务器之间的调用)
RPC:不同的服务器之间的调用就是RPC
1.3微服务的调用思想
微服务思想: 将程序(项目)按照分布式的思想进行拆分(SOA),并且可以自动的实现故障的迁移(服务自动发现机制),无需人为的干预
1.3.1传统方式调用
1.按照常规的调用方式,每次增加/减少服务器时,都需要编辑conf配置文件. 没有发办法实现服务自动的发现(不够智能)
2.只要服务器进行RPC调用都必须经过nginx服务器,.则nginx压力很高
1.3.2 微服务调用思想
步骤:
1.服务启动时,会链接注册中心,将服务数据(服务名称|IP|端口)写入注册中心.
2.注册中心接收用户服务数据之后,动态维护服务列表.
3/4.消费者启动时,链接注册中心,之后将服务列表缓存到本地(缓存到消费者内存中(快)) 方便下次调用.
5.当用户调用服务消费者时.消费者根据当前服务列表的信息,进行负载均衡,挑选其中一个服务进行访问.
6.注册中心为了保证服务列表的正确性,通过心跳检测机制.实时监控所有服务生产者,如果服务器宕机,则注册中心将第一时间更新服务列表.并且全网广播 通知所有的消费者.更新服务列表.
优点:用户每次访问 几乎可以保证访问的服务器都是正确的.