深入理解微服务与Spring Boot构建实践
1. 微服务基础原理
1.1 微服务通信方式
在微服务领域,微服务之间的通信有两种主要方式:一是与消息系统交互来收发消息;二是与其他服务的API进行消息的接收和发送。通常,这些通信通过基于REST和JSON的HTTP端点,或者基于TCP或HTTP的消息端点来实现。
1.2 构建、发布和运行阶段的隔离
此原则强调构建、发布和运行阶段应严格隔离。具体如下:
- 构建阶段 :编译并生成包含所有必要资源的二进制文件。
- 发布阶段 :将二进制文件与特定环境的配置参数相结合。
- 运行阶段 :在特定的执行环境中运行应用程序。
整个流程是单向的,即运行阶段的更改不能反向传播到构建阶段。这意味着不建议为生产环境单独进行构建,而应遵循整个流程。在微服务中,构建阶段会创建可执行的JAR文件,其中包含服务运行时,如HTTP监听器。发布阶段会将这些可执行文件与发布配置(如生产URL等)结合,生成发布版本,通常以类似Docker的容器形式存在。运行阶段,这些容器会通过容器调度器部署到生产环境。
1.3 无状态、无共享进程
该原则建议进程应是无状态且无共享的。如果应用程序是无状态的,那么它具有容错性,并且易于扩展。所有微服务都应设计为无状态函数。若需要存储状态,应使用后端数据库或内存缓存。
1.4 通过端口绑定暴露服务
十二要素应用要求具备自包含性。传统应用通常部署到服务器(如Web
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



