创建微服务器 Creating microservices

Microservices是一种JHipster应用程序,它没有前端 (the Angular front-end must be generated on a gateway), 并且与 JHipster Registry 配合使用,发现和管理。

在微服务架构中生成实体 Generating entities in a microservices architecture

使用 entity sub-generator 在微服务架构中有所不同,因为前端和后端代码不在同一应用程序中。

首先,在微服务应用程序中生成实体:这样可以照常使用,还可以使用 JHipster UML or JDL Studio 来生成复杂的实体和关系。由于微服务没有前端,因此不会生成AngularJS代码。

然后,在网关上再次运行实体子生成器。一开始就会出现一个新的问题,这是一个特定于网关的问题:

  • 您将有选择正常生成一个新实体(网关也是一个标准的JHipster应用程序,所以这将像单片应用程序一样工作),或者从微服务器使用现有的JHipster配置。
  • 如果您选择从微服务器生成实体,则需要在本地计算机上输入此微服务器的路径,然后JHipster将在网关上生成前端代码。

使用Hazelcast分布式缓存 Distributed caching with Hazelcast

如果您的应用程序使用SQL数据库,JHipster将提供与微服务不同的第二级缓存解决方案:

  • JHipster的默认缓存解决方案与微服务器是Hazelcast
  • 您仍然可以选择Ehcache(使用单片应用程序的默认解决方案),或者选择不使用缓存

这个解决方案是微服务的默认解决方案,因为在这个架构中,您的想法是您将扩展您的服务:

  • 使用本地缓存,您的服务实例将不具有同步缓存,从而导致不正确的数据
  • 没有任何缓存,缩放的负担将被推送到数据库,这将不是很好(除非你使用我们的Cassandra选项)

使用带有微服务器的Hazelcast将导致一个特定的配置:

  • 在启动时,您的应用程序将连接到JHipster注册表,以查找同一服务的其他实例是否正在运行
  • With the dev profile, JHipster将在localhost (127.0.0.1)上创建这些实例的集群,每个实例使用不同的端口。默认情况下,Hazelcast端口是 your application's port + 5701 (所以如果您的应用程序的端口是 8081, Hazelcast将使用端口 13782)
  • With the prod profile, JHipster将使用默认的Hazelcast端口 (5701)创建一个集群,其中包含所有其他节点。

Microservices没有数据库 Microservices with no database

只有微服务应用程序才能创建而不需要数据库。这是因为微服务很小,没有用户管理代码。

没有数据库的微服务器非常小,可以用于连接到特定的后端,如传统系统。

results matching ""

    No results matching ""