微服务(microservice)是一种 软件架构 https://www.ruanyifeng.com/blog/2022/04/microservice.html
🌟 微服务就是采用容器技术的面向服务架构。它依然使用"服务"作为功能单元,但是轻量级实现,无需新增服务器,只需新建容器(一个进程),所以叫做"微服务"
一个微服务就是一个独立的进程
微服务架构是什么? https://www.zhihu.com/question/65502802
指标接口、链路跟踪注入、日志引流、服务注册发现、路由规则等组件以及熔断、限流等功能都需要在应用服务上添加一些对接代码。如果让每个应用服务自己实现是非常耗时耗力的。基于DRY的原则,小明开发了一套微服务框架,🌟 将与各个组件对接的代码
和另外一些公共代码
抽离到框架中,所有的应用服务都统一使用这套框架进行开发。
使用微服务框架可以实现很多自定义的功能。甚至可以将程序调用堆栈信息注入到链路跟踪,实现代码级别的链路跟踪。或者输出线程池、连接池的状态信息,实时监控服务底层状态。
使用统一的微服务框架有一个比较严重的问题:框架更新成本很高。每次框架升级,都需要所有应用服务配合升级。
同步通信:微服务之间直接调用,通常使用HTTP或RPC协议。这种方式的优点是简单易用,缺点是耦合度高,容易造成服务阻塞或雪崩。
异步通信:微服务之间通过消息队列或事件总线进行通信,实现解耦和缓冲。这种方式的优点是可扩展性高,缺点是复杂度高,需要保证消息的可靠性和顺序性。
混合通信:微服务之间根据不同的场景和需求,选择合适的通信方式。这种方式的优点是灵活性高,缺点是需要权衡各种通信方式的优缺点,以及处理不同通信方式的兼容性问题。
[ ] 微服务通信的技术,微服务通信的相关概念