java动手写cmpp服务
现在,“微服务架构”是编程中的流行概念。 为了跟上软件开发人员的最新发展,我一直在尝试对这种体系结构有一个很好的了解。 具体来说,我一直在寻找一种使用Spring在Java中实现微服务架构的更好方法。
一些背景:我的公司虽然很棒,但其技术栈却过时了。 基本上,我们还没有使用Java 8或微服务。 因此,如果我想更多地了解这些事情之一,就不得不去公司外面看看。 最简单的学习方法就是做到这一点,因此我决定创建一个“待办事项”系统并记录我的经验以供将来参考。
本文的目的是为不同的微服务提供源代码演练。 我不打算深入研究概念和工具。 有很多关于这些的帖子。 我的意图是提出一个包含用于开发微服务的模式,工具和技术的应用示例。
由于这是一个参考应用程序,因此我特意使它尽可能简单,从而使源代码易于理解。 您应该在家中跟随并能够在自己的计算机上运行该应用程序作为参考。
在本文中,我们将使用由8个应用程序组成的“ To Do”应用程序:
- 提醒
- 用户
- 服务发现服务器
- 邮递员
- OAuth服务器
- 系统集成测试
- API网关
- Web应用程序客户端
本文将提供整个项目的概述。 稍后,我将更深入地说明我们在每个微服务中使用什么以及如何使用这些组件。
在上图中,您可以看到我们的系统如何与所有微服务进行交互。 用户将访问使用Angular 2编写的Web应用程序。它将连接到OAuth授权服务器,这是可以分配用户和权限的中心点。 该服务器将返回一个JSON Web令牌,其中包含有关客户端的信息及其权限和切碎的范围。 在对用户进行身份验证并获得令牌后,Web应用程序将能够与API网关进行对话。 它将使用JWT,验证它是否来自授权服务器,然后调用微服务并构建响应。
OAuth服务器使用用户服务来获取用户的身份验证详细信息。 此外,API网关使用OAuth服务器来获取用户的信息。
在 剩余服务 是将被放置在待办事项功能,待办服务有计划的作业检查提醒和通过电