迁移到微服务听起来似乎是一项巨大而复杂的任务。虽然过程可能稍显复杂,但实际上比你想象的更为简单。这篇博客以一个标准的J2EE应用程序为例建立了一个基础迁移路线图,从一体化架构迁移到微服务架构。我们将从容器化我们的Java应用程序开始逐步实现最终自动发布到Kubernetes微服务环境。
我们的迁移之旅首先从容器化Java应用程序(.jar,.war或.ear)开始,这涉及到建立一个容器容纳Java运行时及你的应用程序。实现该步骤的时候,记住以下几点:
一开始迁移到微服务,你需要为你的Kubernetes环境提供一个负载均衡器,处理来自云负载均衡器的外部请求。NGINX是一个好的选择,花点时间安装并学习NGINX。
在熟悉了NGINX后,将它移到容器中。
现在,有趣的地方来了。如果不使用Kubernetes管理你的容器,你迁移到微服务的努力将付诸东流。通过建立第一个Kubernetes集群来学习Kubernetes。从Google和他们的优惠开始。这个向导会教你如何建立你的集群。你需要安装一个Google Command Line Client。当然,也要学习 Helm 。
在Kubernetes集群建立之后,是时候考虑一下如何拆分你的应用程序了。DeployHub支持 领域驱动设计(DDD) 模式来组织,编目,发布以及分享微服务。
在开发的早期就定义好你的领域结构至关重要。在一开始就组织好微服务并重用组件能防止之后混乱的发生。
在一个仓库中管理你的二进制文件,有助于为容器进行构建。每一次构建都会对应于一个版本号并有一个可追溯的历史。