Skip to content

Commit

Permalink
docs: 完善微服务框架选择、service mesh的内容
Browse files Browse the repository at this point in the history
  • Loading branch information
hitzhangjie committed Jan 25, 2024
1 parent d879493 commit 1318c58
Showing 1 changed file with 13 additions and 1 deletion.
14 changes: 13 additions & 1 deletion 2-research/howto-choose-framework.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,16 @@

有的团队会考虑先用某种语言实现一个相对完整的框架,用它来作为服务端的proxy,然后实现一个多语言版本的相对精简的框架,用来开发业务逻辑处理服务worker。proxy、worker之间可以选择通过共享内存等方式进行通信。通过这种方式简化了开发多个完整多语言框架的工作量。

微服务治理不断进化,现在进化到了**Service Mesh**,目标是**将微服务治理体系下沉为与业务无关的基础设施**。但是不管微服务治理体系如何演进,一个健壮、高性能、可扩展的微服务框架都是必不可少的。
## 现代微服务治理方案

微服务治理不断进化,现在进化到了**Service Mesh**,目标是**将微服务治理体系下沉为与业务无关的基础设施**。但是不管微服务治理体系如何演进,一个健壮、高性能、可扩展的微服务框架是必不可少的。

或者说,微服务框架所要解决的问题,至少在某个层面上要通过类似的方法去解决,比如Mesh这样,便可以弱化对一个大而全的框架的要求。

以目前比较流行的服务网格解决方案Istio为例,Istio是一个开源的服务网格,它提供了一种简单的方式来管理和控制微服务的网络交互。使用Istio,你可以使用任何你喜欢的编程语言来开发微服务,包括但不限于Java、Go、Python、Node.js、C#等。Istio并不对开发微服务的框架有特定的要求。

在网络通信方面,Istio提供了丰富的特性,包括流量管理、安全性、观察性等。你不需要在你的框架代码中显式地处理这些网络通信的细节,Istio会自动地为你的服务添加一层代理(叫做sidecar),这个代理会拦截所有的进出网络流量,并按照你的配置来管理这些流量。

例如,你可以使用Istio的流量管理规则来实现蓝绿部署、金丝雀发布等高级部署策略。你也可以使用Istio的安全性特性来实现服务间的mTLS通信。此外,Istio还提供了丰富的观察性工具,如日志、指标、追踪等,帮助你更好地理解和监控你的服务。你也不需要在框架中额外支持这些。

总的来说,使用Istio,你可以专注于你的业务逻辑,而将网络通信的复杂性交给Istio来处理。通过将微服务治理体系下沉为基础设施,自然而然降低了对框架大而全的要求。

0 comments on commit 1318c58

Please sign in to comment.