Day 12 (微服务技术栈)

文章讲述了微服务架构如何处理复杂业务场景下的问题,包括通过注册中心简化服务调用,配置中心统一管理配置,服务网关过滤用户请求并进行负载均衡,使用缓存和分布式搜索优化数据访问,通过异步通信提升性能,以及利用分布式日志和链路追踪进行异常定位。此外,文章还强调了自动化部署和持续集成的重要性。
摘要由CSDN通过智能技术生成

一个大型的项目往往会包含数百上千个服务,形成一个服务集群。一个业务需要多个服务配合完成,当业务越来越多越来越复杂的时候,服务之间的调用关系就会越来越复杂。

1、当业务越来越多越来越复杂的时候,服务之间的调用关系就会越来越复杂,那么微服务是如何处理的呢?

微服务中的“注册中心”,它可以记录每一个服务的ip端口,以及主要有什么作用。一个服务调用另外的服务时,不需要自己记录对方的ip,只需要去找注册中心即可,从注册中心获取对应的服务信息。

2、随着服务越来越多,每个服务都有自己的配置文件,若需要逐一的去更改配置非常麻烦,那么微服务是如何处理的呢?

微服务中的“配置中心”,它可以去统一的管理服务集群中成千上万的配置,若有配置变更,只需要找到配置中心即可。他会通知相关的微服务,实现配置的热更新。

3、当我们的微服务运行起来以后,这时用户过来访问我们,那么微服务是如何过滤用户且定位请求的呢?

微服务中的“服务网关”,它一方面是对用户的身份进行校验,另一方面可以把用户的请求路由到我们具体的服务。在我们路由的过程中,我们可以做一些负载均衡,而这时服务接收到你的请求去处理业务,该访问数据库就去访问数据库,再把查询到的数据返回给用户就可以了。

4、当用户群体多时,数据库肯定是扛不住这种高并发的,那么微服务是如何处理的呢?

加入缓存,缓存就是把数据库数据放入到内存中,内存的查询效率肯定是要比数据库快很多的。而且这种缓存还不能是单体缓存,对应的高并发,还得做成分布式缓存,也是一个集群,用户请求先到缓存未命中了,再去查询数据库。

5、业务中还会有复杂的搜索,简单的查询可以走缓存,一些海量数据的复杂搜索统计和分析走不了缓存,那么微服务是如何处理的呢?

用分布式搜索。(数据库职责就是数据的写操作还有就是事务类型安全的存储)

6、在微服务里边,它的业务往往会跨越多个服务。一个请求来了,先调用了A,A再调B,B再调C。整个业务的链路就会很长,调用总时长就会是每个服务执行时长之和,所以性能会下降,那么微服务是如何优化的呢?

用异步通信。请求来了,调用了A,但服务A不是去调用服务B和C,而是通知B和C去干活,而服务A就结束了。所以它的业务链路就变短了,执行时间也缩短了,性能也就增强了,所以异步通信可以大大提高我们服务的并发,在一些秒杀高并发场景下就可以去利用。

7、如何解决异常定位?

微服务中有两种组件,第一个是分布式日志服务,它可以去统计整个集群当中成千上万的服务中的日志,统一的做一个存储和统计分析,将来出现问题就好定位了。第二个是系统监控链路追踪,它可以实时监控整个集群当中每一个服务节点的一个运行状态,一段出现任何问题,可以直接定位到具体的某一个方法,那么你就可以快速的定位到异常所在了。

微服务得用自动化去部署,用持续集成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值