微服务应该具备的功能
一、重点总结
“服务”是一个独立运行的单元组件,每个单元组件运行在独立的进程中,组件与组件之间通常使用HTTP 这种轻量级的通信机制进行通信,微服务具备特点:
1、按照业务来划分服务,单个服务代码量小,业务单一,易于维护
2、每个微服务都有自己独立的基础组件,例如数据库、缓存等,且运行在独立的进程中
3、微服务之间的通信是通过HTTP 协议或者消息组件,且具有容错能力
4、微服务有一套服务治理的解决方案,服务之间不相合,可以随时加入和剔除服务
5、单个微服务能够集群化部署,并且有负载均衡的能力
6、整个微服务系统应该有一个完整的安全机制,包括用户验证、权限验证、资源保护等
7、整个微服务系统有链路追踪的能力
8、有一套完整的实时日志系统
微服务具备功能:
1、服务的注册和发现
2、服务的负载均衡
3、服务的容错
4、服务网关
5、服务配置的统一管理
6、链路追踪
7、实时日志
二、服务的注册与发现
微服务系统由很多个单一职责的服务单元组成,而每一个微服务又有众多实例。由于系统的服务粒度较小,服务数量众多,服
务之间的相互依赖成网状,所以该需要服务注册中心来统一管理微服务实例, 方便查看每一个微服务实例的健康状态
服务注册是指向服务注册中心注册一个服务实例,服务提供者将自己的服务信息(如服务名、IP 地址等〉告知服务注册中心
服务发现是指当服务消费者需要消费另外一个服务时,服务注册中心能够告知服务消费者它所要消费服务的实例信息
通常情况下, 一个服务既是服务提供者,也是服务消费者。服务消费者一般使用HTTP 协议或者消息组件来进行服务消费
服务的注册与发现如图所示:
服务注册巾心会提供服务的健康检查方案,检查被注册的服务是否可用