创建微服务
来源:JHipster |
时间:2018-11-04
|
|

在微服务架构中生成实体

在微服务架构中使用实体生成器有一点不同,因为前端和后端代码不在同一个应用中。

首先,在微服务应用中生成实体:和通常一样你可以使用jhipster UML或者JDL studio来生成复杂的实体和关系。但微服务不需要前端,不会有angularJS代码生成。

接着,在网关上,再次运行实体生成器。一个新的问题出现在指定的网关上了:

  • 你将会选择生成一个普通的实体(网关本身是一个综合应用)或者使用来自微服务的已存在的JHipster配置

  • 如果选择从一个微服务生成实体,你需要输入这个微服务在你计算机上的路径,jhipster将会在网关上生成前端代码

分布式缓存 Hazelcast

如果你的应用使用SQL数据库,JHipster为微服务提供了二级缓存的解决方案:

  • Jhipster默认的微服务缓存方式是Hazelcast

  • 你可以仍然选择Ehcache(综合应用默认使用)和最后选择不使用

这是微服务的默认解决方案,在这个体系中可以扩展你的微服务:

  • 使用本地缓存,你的服务实例将不能同步缓存,得到不正确的结果

  • 不使用缓存,数据库的负担加重

在微服务中使用Hazelcast将有一个特定配置:

  • 启动的时候,你的应用将会连接JHipster Registry发现是否有其他的服务在运行

  • 当使用dev配置时,JHipster在localhost创建一个集群使用不同的端口。默认,Hazelcast的端口是你的应用程序的端口+5701.(你的应用程序的端口是8081那么Hazelcast的端口是13872)

  • 当使用prod配置的时候,JHipster将会在所有发现的节点中创建一个集群,使用默认的5701端口

不使用数据库的微服务

只要微服务应用在没有使用数据库的情况下创建。这是因为微服务很小,并且没有用户管理代码。

没有数据库的微服务非常小,可以用来连接到特定的后端,比如遗留系统。

生产环境的微服务

微服务是一种特殊的JHipster应用程序。请参考我们在生产文档中使用JHipster的主要内容,了解更多关于生产构建、优化和安全的信息。

微服务监控

请参考JHipster Registry[之前章节]文档,来了解哪些运行时面板可用以及如何使用。

我们的监控文档也是比较重要的,可以学习使用的详细信息:

  • JHipster Console使用ELK在你的微服务架构体系中

  • Zipkin在你的微服务中追踪http请求

  • Elastalert用于问题发生时的告警

使用Docker Compose开发和部署

在微服务体系结构上工作意味着您需要多个不同的服务和数据库一起工作,在这种环境下,Docker组合是管理您的开发、测试和生产环境的一个很好的工具。

在我们的Docker-compose文档中包含了一个关于微服务的特定部分,我们强烈建议您在处理微服务体系结构时熟悉它。

当Docker集群使用与Docker机器相同的API时,在云中部署微服务体系结构与在本地机器上部署微服务架构是完全一样的。请跟随我们的Docker-compose文档[后续章节],了解更多关于使用Docker与JHipster的组合。


提交
查看更多评论
没有更多评论