课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
微服务架构技术是随着互联网的不断发展而被众多程序员掌握的一种开发架构方式,今天我们就通过案例分析来了解一下,微服务架构都用到了哪些开发技术。
服务发现
当服务不多的时候,可能手动进行API地址配置,实现调用还可以接受配置复杂性,如果是对服务增加服务器扩展时,还得手动进行配置,那干这活的肯定要喷脏话了。如果使用Consul做服务发现,自动发现各个服务,同时还能进行健康检查,及时过滤掉不可用服务,增强高可用,显得更加智能化;减少人工配置的复杂性,还能提升服务的高可用。
网关(Gateway)
网关的主要作用是进行路由转换、统一入口、隔离内网等,当然还可以做一些服务熔断、限流、重试、缓存等相关功能。功能具体是什么意思,怎么实现我们在做学习分享的时候会一一说到。而.NetCore中常用的网关为Ocelot和Kong;
路由转换:根据配置规则,将不同业务地址转换到对应的微服务地址上,让业务请求由对应的业务API进行处理;
统一入口:对于UI界面而言,只关心一个入口,即网关地址,不用和每个微服务直接打交道,降低请求访问复杂性;
隔离内网:对外提供地址为网关地址,内部服务通信都是通过内网,使得站点安全性增强;
其他功能会在后续实操中一一说到;
服务间通讯
虽然拆分成了各个小服务,但始终还是一个系统,对于一些业务依赖关系的服务会进行聚合或是通过服务间通信,将数据整合统一返回给UI层;常用的技术手段是通过RestfulApi接口或是gRPC进行数据交互,然后再进行数据业务处理。
服务治理
每一个小服务也是一个程序,就有可能出现Bug、网络通信异常、服务器宕机等情况而导致服务不可用,通常我们理想状态肯定是希望其他服务不被异常服务影响,这样就需要对服务进行治理,比如失败重试、服务熔断、失败降级等,从而提升服务的可用性,避免单个异常服务导致整个系统雪崩的现象;.NetCore中会使用Polly库实现相关功能。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。