【知识总结】4.微服务的治理去中心化,服务发现,安全,部署

【知识总结】4.微服务的治理去中心化,服务发现,安全,部署,第1张

通常“治理”的意思是构建方案,并且迫使人们通过努力达到组织的目标。SOA治理指导开发者开发可重用的服务,以及随着时间推移,服务应该怎么被设计和开发。治理建立了服务提供者和消费者之间对于服务的协定,告诉消费者能从服务提供获取到什么样的支持。

SOA中有两种常见的治理:

那么微服务中的治理是什么意思呢?

在微服务架构中,不同的微服务之间相互独立,并且基于不同的平台和技术。因此,没有必要为服务的设计和开发定义一个通用的标准。

总结微服务的治理去中心化如下:

微服务架构下,有大量的微服务需要处理。由于微服务的快速和敏捷研发,他们的位置可能会动态变化。因此在运行时需要能够发现服务所在的位置,服务发现可以解决这个问题。

注册中心有微服务的实例和位置信息,微服务在启动时向注册中心注册自己的信息,关闭时注销。其它使用者能够通过注册中心找到可用的微服务和相关信息。

为了能找到可用的服务和他们的位置信息,需要服务发现机制。有两种发现机制,客户端发现和服务端发现。

客户端发现 - 客户端或者API网关通过查询服务注册中心或者服务的位置信息。

客户端/API网关必须调用服务注册中心组件,实现服务发现的逻辑。

服务端发现 - 客户端/API网关把请求发送到已知位置信息的组件(比如负载均衡器)。组件去访问注册中心,找到微服务的位置信息。

类似Kubernetes( >

微服务架构开发在软件编程开发领域中是一种非常常见的软件开发方式了,而今天我们就一起来了解一下,基于微服务架构的系统软件在运行过程中都有哪些问题会发生。

一:Hystrix是什么

11:基本解释

Hystrix开始由Netflix(看过美剧的都知道,它是一个美剧影视制作的巨头公司)开源的,后来由SpringCloudHystrix基于这款框架实现了断路器、线程隔离等一系列服务保护功能,该框架的目标在于通过控制访问远程系统、服务和三方库的节点,从而延迟和故障提供更强大的容错能力。hystrix具备服务降级、服务熔断、线程和信号隔离、请求缓存、请求合并以及服务监控等强大功能。起到了微服务的保护机制,防止某个单元出现故障从而引起依赖关系引发故障的蔓延,终导致整个系统的瘫痪。

12:断路器的概念

断路器本身是一个开关装置,用在电路上保护线路过载,当线路中有电器发生短路的时候。“断路器”能够及时切断故障,防止发生过载、发热甚至起火等严重后果。当分布式架构中,断路器模式起到的作用也是类似的。当某个服务发生故障的时候,通过断路器的故障监控向调用方返回一个错误响应,而不是长时间的线程挂机,无限等待。这样就不会使线程因故障服务被长时间占用不释放,避免了故障在分布式系统中的蔓延。

二:Hystrix解决超时问题

21:问题

假设我们前端提供了用户查询订单的功能,先请求映射到OrderController,控制器通过调用服务orderService获取订单信息,前端传过来两个参数:一个是订单id,一个是用户id,orderService需要通过用户id调取用户服务来获取用户的相关信息返回给订单服务去组装信息,假设这里是通过>

三:Hystrix的流程

Hystrix实际上的工作原理是这样的:通过command来解耦请求与返回 *** 作,在具体的实例中就是,Hystrix会对依赖的服务进行观察,通过commandtoObservable调用返回一个观察的对象,同时发起一个事件,然后用Subscriber对接受到的事件进行处理。北京北大青鸟建议在command命令发出请求后,它通过一系列的判断,顺序依次是缓存是否命中、断路器是否打开、线程池是否占满,然后它才会开始对我们编写的代码进行实际的请求依赖服务的处理,也就是Hystrixrun方法,如果在这其中任一节点出现错误或者抛出异常,它都会返回到fallback方法进行服务降级处理,当降级处理完成之后,它会将结果返回给,际的调用者,经过一系列流程处理的。

(1)云端MES和边缘端MES各模块在设计时需遵循内部高内聚、相互间低耦合的原则。
(2)模块间应能进行服务直接调用,MES系统各模块通常具备一定的业务相关性,例如生产计划获取的输出需要作为生产计划排序和生产计划管理模块的输入,MES系统架构需要保证模块间正常进行数据交互。
(3)架构中云端-边缘之间、边缘端MES与终端设备间,以及与其他信息系统(如ERP、WMS、PLM等)能通过接口实现服务双向调用,MES系统需要以较快的速度完成接口模块的开发、测试、部署工作,同时确保系统其它模块的稳定性。
(4)第三方系统(设备)交互,可通过独立模块负责接口对接,进行数据的预处理(数据清洗、格式转换、汇聚等),完成预处理后提交MES内部业务处理模块进一步处理,例如MES系统从ERP系统获得生产计划,可设置独立模块或服务获取生产计划,并对生产计划数据标准化处理以符合MES系统内部规范,完成处理后再将计划数据传递给生产计划管理、生产计划排序等模块进一步处理,实现MES主要模块的标准化功能。通过定制化与ERP等系统对接的模块即可实现对不同ERP系统接口的对接,同时可将其他模块或服务的影响降到最低。
(5)外部通信模块具备支持多协议通信的能力,能接收不同的接口数据并进行标准化处理供内部模块使用。
(6)微服务的MES系统架构能使系统支持模块的可配置化,能根据实际需求调整模块的组合,且不影响系统的可用性和稳定性。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13477815.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-15
下一篇 2023-08-15

发表评论

登录后才能评论

评论列表(0条)

保存