Skip to content

微服务常用的技术栈是什么?

下面您会看到一个图示,展示了微服务的技术栈,分别是开发阶段和生产阶段。

▶️ 𝐏𝐫𝐞-𝐏𝐫𝐨𝐝𝐮𝐜𝐭𝐢𝐨𝐧

  • 定义API - 这为前端和后端建立了合同。我们可以使用Postman或OpenAPI。
  • 开发 - 前端开发通常使用Node.js或React,而后端开发则常用Java、Python或Go。此外,我们需要根据API定义更改API网关中的配置。
  • 持续集成 - JUnit和Jenkins用于自动测试。代码打包成Docker镜像并作为微服务部署。

▶️ 𝐏𝐫𝐨𝐝𝐮𝐜𝐭𝐢𝐨𝐧

  • NGinx是负载均衡器的常见选择。Cloudflare提供CDN(内容分发网络)。
  • API网关 - 我们可以使用Spring Boot作为网关,并使用Eureka/Zookeeper进行服务发现。
  • 微服务部署在云上。我们可以选择AWS、微软Azure或Google GCP。
  • 缓存与全文搜索 - Redis是缓存键值对的常见选择。Elasticsearch用于全文搜索。
  • 通信 - 服务之间的通信可以使用消息基础设施Kafka或RPC。
  • 持久化 - 我们可以使用MySQL或PostgreSQL作为关系数据库,Amazon S3作为对象存储。如果有必要,我们也可以使用Cassandra作为宽列存储。
  • 管理与监控 - 为了管理众多微服务,常见的运维工具包括Prometheus、Elastic Stack和Kubernetes。