摘要: 为什么 单体应用 -> 微服务 交付缓慢 充满故障的软件交付 可扩展性差 如何从 单体应用 -> 微服务 你应该逐步重构你的单体应用, 而不是推到重来. 有3种主要的策略: 1. 将新功能实现为服务 2. 隔离表现层和后端 3. 通过将功能提取到服务中来分解单体 API Gateway: 将对新功能 阅读全文
posted @ 2021-06-24 18:18 神之一招 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 部署: 包含两个相关联的概念: 流程和架构。 部署流程: 包括一些由开发人员和运维人员执行的步骤, 以便将软件投入到生产环境. 手动部署已经一去不复返了, 部署的发展. DevOps 跟部署息息相关. 部署模式: 编程语言特定发布包格式 比如 spring Boot 部署为 Jar 或 War. 例 阅读全文
posted @ 2021-06-24 16:44 神之一招 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 面向生产环境, 要保证 3 点: 安全性, 可配置性(服务可配置), 可观测性(监控和日志记录). 安全 身份验证 访问权限 审计, 用户的关键操作行为 安全进程间通信 (服务之间通信都应该采用传输层安全性 TLS)加密. 服务间通信甚至可能需要使用身份验证. 可以考虑使用安全架构: Spring 阅读全文
posted @ 2021-06-24 15:48 神之一招 阅读(87) 评论(0) 推荐(0) 编辑
摘要: API Gateway: 实现一个服务,该服务是外部 API 客户端进入基于微服务应用程序的入口点. 所以, API Gateway 实际上是一种服务, 它负责请求路由, API 组合 和身份验证, 流量监控, 限流 等各项功能. 来自外部客户端的所有 API 请求首先转到 API Gateway, 阅读全文
posted @ 2021-06-24 15:28 神之一招 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 导读 为什么分布式事务不适合现代应用程序 使用 Saga 模式维护微服务架构的一致性 使用协同和编排这两类方式协调 Saga 采用对策来解决缺乏隔离的问题 Spring 使用 @Transactional 注解来让方法调用自动的在事务范围内完成, 在只访问一个数据库的单体应用中, 事务管理简单明了. 阅读全文
posted @ 2021-06-24 12:01 神之一招 阅读(311) 评论(0) 推荐(0) 编辑