微服务-微服务以及其框架简介什么是微服务微服务架构需要解决哪些问题开源框架CompletableFuture什么是微服务微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值
每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP协议的RESTfulAPI)
每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等
另外,应当尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建
特点小,且专注于做件事情⼀轻量级的通信机制松耦合、独立部署微服务架构要解决哪些问题服务注册、发现负载均衡服务网关服务容错配置管理服务注册、发现和单体(Monolithic)架构不同,微服务架构是由一系列职责单一的细粒度服务构成的分布式网状结构,服务之间通过轻量机制进行通信,这时候必然引入一个服务注册发现问题,也就是说服务提供方要注册通告服务地址,服务的调用方要能发现目标服务服务注册后会发送健康信息到注册中心,注册中心收不到健康信息时会移除此服务支持集群部署,避免单点问题负载均衡集中式负载均衡在服务消费者和服务提供者之间有一个独立的LB,LB通常是专门的硬件设备如F5,或者基于软件如LVS,HAproxy等实现1
所有服务调用流量都经过LB,当服务数量和调用量大的时候,LB容易成为瓶颈3
LB在服务消费方和服务提供方之间增加了一跳(hop),有一定性能开销
负载均衡主机独立LB部署较复杂,环节多,出错调试排查问题不方便
负载均衡进程内LB进程内LB方案是一种分布式方案,LB和服务发现能力被分散到每一个服务消费者的进程内部,同时服务消费方和服务提供方之间是直接调用,没有额外开销,性能比较好服