【译】迁移至微服务——比你想象的更加简单

原文链接

迁移到微服务的路线图

迁移到微服务听起来似乎是一项巨大而复杂的任务。虽然过程可能稍显复杂,但实际上比你想象的更为简单。这篇博客以一个标准的J2EE应用程序为例建立了一个基础迁移路线图,从一体化架构迁移到微服务架构。我们将从容器化我们的Java应用程序开始逐步实现最终自动发布到Kubernetes微服务环境。

步骤1:容器化Java应用程序与运行时

我们的迁移之旅首先从容器化Java应用程序(.jar,.war或.ear)开始,这涉及到建立一个容器容纳Java运行时及你的应用程序。实现该步骤的时候,记住以下几点:

  1. 容器需要有一个入口点。
  2. 容器要能够自力更生。

步骤2:了解NGINX

一开始迁移到微服务,你需要为你的Kubernetes环境提供一个负载均衡器,处理来自云负载均衡器的外部请求。NGINX是一个好的选择,花点时间安装并学习NGINX。

步骤3:容器化NGINX

在熟悉了NGINX后,将它移到容器中。

步骤4:建一个Kubernetes集群

现在,有趣的地方来了。如果不使用Kubernetes管理你的容器,你迁移到微服务的努力将付诸东流。通过建立第一个Kubernetes集群来学习Kubernetes。从Google和他们的优惠开始。这个向导会教你如何建立你的集群。你需要安装一个Google Command Line Client。当然,也要学习Helm

步骤5:理解领域

在Kubernetes集群建立之后,是时候考虑一下如何拆分你的应用程序了。DeployHub支持领域驱动设计(DDD)模式来组织,编目,发布以及分享微服务。

在开发的早期就定义好你的领域结构至关重要。在一开始就组织好微服务并重用组件能防止之后混乱的发生。

步骤6:向你的CD工作流中添加一个二进制仓库

在一个仓库中管理你的二进制文件,有助于为容器进行构建。每一次构建都会对应于一个版本号并有一个可追溯的历史。

步骤7:为你的CI/CD添加一个Docker仓库

理由同上。

步骤8:通过CI/CD实现自动部署

使用DeployHub Team自动部署。DeployHub会追踪你的配置以及版本。

这几乎就是全部内容。不要吧迁移到微服务想的过于复杂。花一点时间来完成每一个步骤。在你的CI/CD工作流中会有一些小的改动,但是这些都是可行的。从这个简单的例子中,你可以逐步建立你自己的微服务,并开启了迈向现代化架构的旅程。

猜你喜欢

转载自juejin.im/post/5de357f86fb9a0715b407e4a