jpsite-v2-cloud 一套拿来即用的企业级云原生微服务框架

简介: jpsite-v2-cloud 一套拿来即用的企业级云原生微服务框架

cb0b406ee09b1a788f0d05794544a9d.png

jpsite-v2-cloud 企业级微服务快速开发解决方案

2020年最新微服务架构版本(发布日期:2021.1.1)

随着现代应用的架构演变, 微服务的概念逐渐兴起, 相关的技术栈与架构体系也日渐成熟, 本项目基于apache与alibaba的开源框架, 构建一套企业级的微服务开发快速解决方案, 该套架构是目前2020年主流微服务开发框架, 后续有机会将改造成Service Mesh架构

2021年最新微服务架构版本(发布日期:2022.1.1)

时过境迁,转眼就要来到2020年了,程序的发展进步越来越快,微服务已成过去,云原生已经逐渐普及, 众多开发语言齐头并进,Java生态体系也有了一些新的变化,为了顺应时代的发展,框架做了部分版本升级已新的 技术融合,该套架构是目前依然是2021年主流微服务开发框架,后续有机会将改造成Service Mesh架构

技术栈:

相关技术 版本 介绍
nacos 1.3.2 -> 2.0.3 一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台
dubbo 3.0.0 一款高性能、轻量级的开源 Java 服务通信框架
jdk 15 2020年Java开发员的软件开发工具包
elasticSearch 7.6 一个分布式多用户能力的全文搜索引擎
spring-security 5.3.4.RELEASE 一个功能强大且高度可定制的身份验证和访问控制框架
spring 5.2.9.RELEASE 为现代基于 Java 的企业应用程序提供了一个全面的编程和配置模型
spring-boot 2.3.4.RELEASE 一个框架,一种全新的编程规范,其设计目的是用来简化新Spring应用的初始搭建以及开发过程
spring-security-oauth2 2.3.4.RELEASE 提供最新的 OAuth 2.0 支持
mybatis-plus 3.4.0 一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生
spring-mvc 5.2.9.RELEASE 最初建立在 Servlet API 之上的 Web 框架
knife4j 2.0.4 Knife4j是一个为Swagger接口文档赋能的工具
lombok 1.18.2 一种 Java 工具,可用来帮助开发人员消除 Java 的冗长
lettuce 5.3.4.RELEASE 一个Redis的Java驱动包
spring-cloud-gateway 3.0.3 一个用于在 Spring WebFlux 之上构建 API 网关的库
Reactor 3.4.8 第四代响应式库,基于Reactive Streams规范,用于在 JVM 上构建非阻塞应用程序
RocketMQ -> 4.9.2 一个统一消息引擎、轻量级数据处理平台
skywalking 分布式系统的应用程序性能监控工具,专为微服务、云原生和基于容器(Docker、Kubernetes、Mesos)架构而设计
docker 20.10.8 一个虚拟环境容器,可以将你的开发环境、代码、配置文件等一并打包到这个容器中,并发布和应用到任意平台中
sentinel -> 1.8.2 一个强大的流量控制组件,可实现微服务的可靠性、弹性和监控
seata 一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务
云原生套件 版本 DevOps企业级云原生架构
Prometheus 一个开源系统监控和警报工具包
kubernetes v1.21 一个开源系统,用于自动化部署、扩展和管理容器化应用程序
Grafana 一个完全开源的度量分析与可视化平台,可对来自各种各种数据源的数据进行查询、分析、可视化处理以及配置告警
Alertmanager 一个独立的告警模块,接收Prometheus等客户端发来的警报
jenkins 一个开源的、提供友好操作界面的持续集成(CI)工具, 主要用于持续、自动的构建/测试软件项目
go 一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易
Istio 提供一种统一化的微服务连接、安全保障、管理与监控方式。
EFK 提供了一整套开源实时日志分析解决方案
Rancher 多云混合云多集群Kubernetes管理平台
harbor 为企业用户设计的容器镜像仓库
nexus 一个强大的Maven仓库管理器
sonarqube 一个开源的代码分析平台, 用来持续分析和评测项目源代码的质量
kubesphere 3.2.0 在 Kubernetes 之上构建的面向云原生应用的容器混合云开源平台

未来计划:

关于技术栈替换

原技术 未来技术 介绍
spring-mvc spring-webFlux 一个采用响应式堆的 Web 框架
lettuce redission 一个高级的分布式协调 Redis 客户端

5fa16bd1e0b34d28c56a29d2.png

5f8d4d04e401fd06fd932ec5.png

本地开发流程:

首先安装相关依赖项目模块

dove-common  mvn install
rbac-api mvn install
复制代码
  1. 启动dubbo-rbac
    1.2 启动dubbo-shop
  2. 启动auth-server
  3. 启动client

访问localhost, 登录用户名jiangpeng, 密码123456

nacos地址:http://localhost:8848/nacos

client api doc:http://localhost/doc.html

代码提交规范

每次提交的代码必须保证是测试通过的, 且提交commit必须符合如下规范,便于其他开发者审阅与学习。

git commit 描述使用如下形式前缀,冒号后面加空格隔开

fix: 、feat: 、refactor: 、

示例:

fix: 修复了字段缺失
feat: 新增短信验证码校验
refactor: 移除多余代码块
相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
12月前
|
人工智能 关系型数据库 OLAP
光云科技 X AnalyticDB:构建 AI 时代下的云原生企业级数仓
AnalyticDB承载了光云海量数据的实时在线分析,为各个业务线的商家提供了丝滑的数据服务,实时物化视图、租户资源隔离、冷热分离等企业级特性,很好的解决了SaaS场景下的业务痛点,也平衡了成本。同时也基于通义+AnalyticDB研发了企业级智能客服、智能导购等行业解决方案,借助大模型和云计算为商家赋能。
897 17
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
599 59
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
440 3
|
Cloud Native 安全 数据安全/隐私保护
云原生架构下的微服务治理与挑战####
随着云计算技术的飞速发展,云原生架构以其高效、灵活、可扩展的特性成为现代企业IT架构的首选。本文聚焦于云原生环境下的微服务治理问题,探讨其在促进业务敏捷性的同时所面临的挑战及应对策略。通过分析微服务拆分、服务间通信、故障隔离与恢复等关键环节,本文旨在为读者提供一个关于如何在云原生环境中有效实施微服务治理的全面视角,助力企业在数字化转型的道路上稳健前行。 ####
|
11月前
|
人工智能 数据可视化 JavaScript
颠覆开发效率!国内首个微服务编排框架Juggle开源啦!
Juggle是国内首个开源的微服务编排框架,专注于解决企业微服务进程中接口重复开发、系统对接复杂等问题。它提供零代码、低代码和AI增强功能,通过可视化拖拽快速组装简单API为复杂接口,支持多协议、多语言脚本和流程多版本管理。相比国外框架如Conductor,Juggle更贴合国内需求,具备高效开发、企业级可靠性及信创适配等优势,助力企业实现敏捷创新与数字化转型。
颠覆开发效率!国内首个微服务编排框架Juggle开源啦!
|
12月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
611 12
|
人工智能 安全 Java
微服务引擎 MSE:打造通用的企业级微服务架构
微服务引擎MSE致力于打造通用的企业级微服务架构,涵盖四大核心内容:微服务技术趋势与挑战、MSE应对方案、拥抱开源及最佳实践。MSE通过流量入口、内部流量管理、服务治理等模块,提供高可用、跨语言支持和性能优化。此外,MSE坚持开放,推动云原生与AI融合,助力企业实现无缝迁移和高效运维。
666 1
|
负载均衡 Cloud Native 持续交付
云原生时代的微服务架构:优势、挑战与实践
云原生时代的微服务架构:优势、挑战与实践
375 20
|
Kubernetes Cloud Native Docker
云原生之旅:从容器化到微服务
本文将带领读者踏上云原生的旅程,深入探讨容器化和微服务架构的概念、优势以及它们如何共同推动现代软件的发展。我们将通过实际代码示例,展示如何在Kubernetes集群上部署一个简单的微服务应用,并解释相关的配置和操作。无论你是云原生新手还是希望深化理解,这篇文章都将为你提供有价值的见解和实操指南。
|
Kubernetes Cloud Native 开发者
云原生入门:从容器到微服务
本文将带你走进云原生的世界,从容器技术开始,逐步深入到微服务架构。我们将通过实际代码示例,展示如何利用云原生技术构建和部署应用。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和启示。