使用 JHipster 构建微服务架构

本文涉及的产品
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 在本文中,我们将着眼于代码生成工具 JHipster 生成和支持的微服务架构。JHipster 是一个代码生成工具,可以为 Kubernetes 创建 Web 应用程序、微服务、部署文件、云集成和 CI/CD Jenkins 文件。这个工具对于可以快速生成代码并避免创建样板代码的开发人员非常有帮助,可以节省 30% 的工作量。JHipster 支持 Spring Boot 中的后端代码和 Angular/React/Vue.js 中的前端代码。在本文中,我们将研究 JHipster 生成和支持的微服务架构。

在本文中,我们将着眼于代码生成工具 JHipster 生成和支持的微服务架构。

JHipster 是一个代码生成工具,可以为 Kubernetes 创建 Web 应用程序、微服务、部署文件、云集成和 CI/CD Jenkins 文件。这个工具对于可以快速生成代码并避免创建样板代码的开发人员非常有帮助,可以节省 30% 的工作量。

JHipster 支持 Spring Boot 中的后端代码和 Angular/React/Vue.js 中的前端代码。

在本文中,我们将研究 JHipster 生成和支持的微服务架构。

微服务是独立的、模块化的可部署组件,按业务领域模型、可扩展、高效且可快速部署的业务功能拆分。

微服务有几个组件组成,包括服务注册、服务发现、健康检查、弹性、容错和安全。

JHipster 支持以下微服务组件来完成上述组件:

1. JHipster Registry:这是服务注册中心,不同的微服务可以在这里注册和发现配置。该注册表还提供监控和健康检查仪表板。

JHipster Registry 建立在 2 个组件之上:Netflix Eureka 和 Spring Cloud Config Server。

a、Netflix Eureka:Eureka 提供动态服务注册和发现。Eureka 维护了一个中央服务注册中心,可以注册新的微服务并在服务宕机时将其下架。注册表维护有关可用服务及其元数据的最新信息。注册到 Eureka 服务器的服务会发送它们的心跳,当客户端不再发送心跳时,服务就会从注册表中取出。

Eureka 提供动态发现,客户端在其中查找服务注册表以获取服务信息,例如服务的 URL,并通过 URL 进行连接。

b、Spring Cloud Config Server:这提供了用于管理所有微服务的属性和配置的集中存储。

微服务可以连接到cloud-config服务并获取配置详细信息,配置服务也可以暴露给 Rest API。

2、HashiCorp Consul: Consul 是来自 HashiCorp 服务发现客户端。Consul 为键值存储提供服务发现、容错、Vault。这是 JHipster Registry 的替代方案,可以提供服务发现和配置存储。

Eureka 支持用 Spring Boot 编写的应用程序服务。Consul 可以支持用 Java、Golang 或其他编程语言编写的多个客户端。

Consul 支持开箱即用的多个数据中心。运行 Consul 的节点运行一个 consul 代理来监控服务的健康状况。

3. JHipster API 网关

JHipster 提供网关,它是访问服务的单一入口点。网关提供请求、响应转换、API 安全、缓存、节流、路由、过滤和容错。

JHipster 网关集成了用于 API 网关功能的 Zuul 和用于弹性和断路器功能的 Hystrix。由于将来会删除对 Hystrix 的支持,因此 JHipster 正在寻找 Resilience4J 集成以实现断路器功能。

Hystrix 或 Resilience4J 阻止分布式系统中的级联故障,启用回退服务,控制系统的延迟。

JHipster API Gateway 将与 JHipster Registry 一起使用 Spring Cloud Load Balancer 进行服务发现和负载平衡 HTTP 请求。

4. JHipster Control Center: 控制中心监控和管理应用程序。控制中心提供以下功能:

a、Instances: Instances 提供应用程序实例的列表;当服务在 JHipster Registry 中注册时,该服务在实例列表中可用。它还提供了一个仪表板来查看列表。

b. Metrics: 指标由 Micrometer 管理,该 Micrometer 跟踪系统指标,如 JVM、HTTP 请求、缓存使用情况和数据库连接。

C、健康检查:健康检查与 Spring Actuator 集成以获取服务的健康状态。

d、日志:日志与 Logback 集成,用于跟踪正在运行的应用程序的日志。

e. API 文档:API 文档提供 Swagger APIn 文档。

5. JWT 的安全性: JWT 是一种无状态的安全机制,可以扩展到多个服务器。这是 JHipster 微服务的默认安全选项。

JWT 提供 Header、Payload 和 Signature。所有客户端会话数据都存储在令牌中。JWT 中没有进行服务器端会话管理。OAuth 2.0 支持 JWT 以实现安全传输。

6. JHipster UAA 的微服务安全性: JHipster UAA 是使用 OAuth2 的用户记账和创作微服务。

OAuth2 是一个可用于集中身份管理的授权框架。JHipster UAA 提供了一个 OAuth2 端点,该端点基于身份验证提供访问令牌。令牌提供细粒度的访问控制来访问基于 Rest 的服务。UAA 是授权服务器和资源服务器的组合。

示例 OAuth 流程如下所示:

使用 JHipster 为微服务生成的实例架构架构如下所示:

本文介绍了 JHipster 支持的不同微服务组件,让您了解如何使用 JHipster 构建微服务架构。谢谢阅读!

目录
相关文章
|
12天前
|
Cloud Native 安全 数据安全/隐私保护
云原生架构下的微服务治理与挑战####
随着云计算技术的飞速发展,云原生架构以其高效、灵活、可扩展的特性成为现代企业IT架构的首选。本文聚焦于云原生环境下的微服务治理问题,探讨其在促进业务敏捷性的同时所面临的挑战及应对策略。通过分析微服务拆分、服务间通信、故障隔离与恢复等关键环节,本文旨在为读者提供一个关于如何在云原生环境中有效实施微服务治理的全面视角,助力企业在数字化转型的道路上稳健前行。 ####
|
12天前
|
Dubbo Java 应用服务中间件
服务架构的演进:从单体到微服务的探索之旅
随着企业业务的不断拓展和复杂度的提升,对软件系统架构的要求也日益严苛。传统的架构模式在应对现代业务场景时逐渐暴露出诸多局限性,于是服务架构开启了持续演变之路。从单体架构的简易便捷,到分布式架构的模块化解耦,再到微服务架构的精细化管理,企业对技术的选择变得至关重要,尤其是 Spring Cloud 和 Dubbo 等微服务技术的对比和应用,直接影响着项目的成败。 本篇文章会从服务架构的演进开始分析,探索从单体项目到微服务项目的演变过程。然后也会对目前常见的微服务技术进行对比,找到目前市面上所常用的技术给大家进行讲解。
30 1
服务架构的演进:从单体到微服务的探索之旅
|
7天前
|
监控 Java 微服务
从零构建微服务架构:一次深度技术探索之旅####
本文作为一篇深度技术分享,引领读者踏上自底向上搭建微服务架构的征途,旨在通过实战经验剖析,揭示微服务转型背后的技术挑战与解决方案。不同于常规摘要仅概述内容,本文摘要将直接以故事化手法,简述作者从单体应用困境出发,逐步迈向微服务化的心路历程,涵盖关键决策点、技术选型考量及实践收获,激发读者对微服务架构设计与实现的浓厚兴趣。 ####
|
10天前
|
消息中间件 监控 安全
后端架构演进:从单体到微服务####
在数字化转型的浪潮中,企业应用的后端架构经历了从传统单体架构到现代微服务架构的深刻变革。本文探讨了这一演进过程的背景、驱动力、关键技术及面临的挑战,揭示了如何通过微服务化实现系统的高可用性、扩展性和敏捷开发,同时指出了转型过程中需克服的服务拆分、数据管理、通信机制等难题,为读者提供了一个全面理解后端架构演变路径的视角。 ####
28 8
|
11天前
|
Cloud Native 安全 API
云原生架构下的微服务治理策略与实践####
—透过云原生的棱镜,探索微服务架构下的挑战与应对之道 本文旨在探讨云原生环境下,微服务架构所面临的关键挑战及有效的治理策略。随着云计算技术的深入发展,越来越多的企业选择采用云原生架构来构建和部署其应用程序,以期获得更高的灵活性、可扩展性和效率。然而,微服务架构的复杂性也带来了服务发现、负载均衡、故障恢复等一系列治理难题。本文将深入分析这些问题,并提出一套基于云原生技术栈的微服务治理框架,包括服务网格的应用、API网关的集成、以及动态配置管理等关键方面,旨在为企业实现高效、稳定的微服务架构提供参考路径。 ####
38 5
|
11天前
|
传感器 算法 物联网
智能停车解决方案之停车场室内导航系统(二):核心技术与系统架构构建
随着城市化进程的加速,停车难问题日益凸显。本文深入剖析智能停车系统的关键技术,包括停车场电子地图编辑绘制、物联网与传感器技术、大数据与云计算的应用、定位技术及车辆导航路径规划,为读者提供全面的技术解决方案。系统架构分为应用层、业务层、数据层和运行环境,涵盖停车场室内导航、车位占用检测、动态更新、精准导航和路径规划等方面。
58 4
|
13天前
|
Kubernetes 负载均衡 Cloud Native
云原生架构下的微服务治理策略
随着云原生技术的不断成熟,微服务架构已成为现代应用开发的主流选择。本文探讨了在云原生环境下实施微服务治理的策略和方法,重点分析了服务发现、负载均衡、故障恢复和配置管理等关键技术点,以及如何利用Kubernetes等容器编排工具来优化微服务的部署和管理。文章旨在为开发者提供一套实用的微服务治理框架,帮助其在复杂的云环境中构建高效、可靠的分布式系统。
31 5
|
10天前
|
Kubernetes API Docker
构建高效后端服务:微服务架构的深度实践与优化####
本文深入探讨了微服务架构在现代后端开发中的应用,通过剖析其核心概念、设计原则及实施策略,结合具体案例分析,展示了如何有效提升系统的可扩展性、可靠性和维护性。文章还详细阐述了微服务拆分的方法论、服务间通信的最佳实践、以及容器化与编排工具(如Docker和Kubernetes)的应用技巧,为读者提供了一份全面的微服务架构落地指南。 ####
|
13天前
|
负载均衡 监控 Cloud Native
云原生架构下的微服务治理策略与实践####
在数字化转型浪潮中,企业纷纷拥抱云计算,而云原生架构作为其核心技术支撑,正引领着一场深刻的技术变革。本文聚焦于云原生环境下微服务架构的治理策略与实践,探讨如何通过精细化的服务管理、动态的流量调度、高效的故障恢复机制以及持续的监控优化,构建弹性、可靠且易于维护的分布式系统。我们将深入剖析微服务治理的核心要素,结合具体案例,揭示其在提升系统稳定性、扩展性和敏捷性方面的关键作用,为读者提供一套切实可行的云原生微服务治理指南。 ####
|
7天前
|
监控 测试技术 持续交付
深入理解微服务架构:构建高效、可扩展的系统
深入理解微服务架构:构建高效、可扩展的系统
22 0
下一篇
无影云桌面