JeecgBoot自开源来被问最多的就是微服务版本什么时间出呢??微服务是个趋势,特别随着中台概念的兴趣,每个公司对微服务的需求都很迫切。针对大家的需求,我们推出了Jeecg-Cloud版本采用的SpringCloud Alibaba体系!! 但是同时维护两套代码,对我们团队来讲维护成本太高,为了减少维护成本,也为了让用户有智能的选择,故而推出新版JeecgBoot 2.3,我们特意制作了单体和微服务自由切换机制,一套代码可以轻松切换单体、微服务。
当前新版JeecgBoot 2.3平台默认提供了 system、demo 等模块,可以快速把每个模块单独启动作为微服务应用,切换成cloud。 本项目采用SpringCloud Alibaba技术栈为:
- 服务注册:nacos
- 配置中心:nacos-config
- 理由网关: gateway
- 服务间调用:openfeign
- 熔断和降级:sentinel
- 服务监控:Spring Boot Admin
视频教程 :>>单体升级微服务视频教程
下面是单体快速升级微服务方案:
一、升级system模块为独立服务
1.将system项目的pom文件中的其他模块的依赖删除,只保留local-api
2.system项目作为微服务启动,需要添加微服务依赖
<!-- nacos --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <!-- 如果走配置中心需要添加此依赖 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> <!-- 服务降级 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency>
3.在resource文件夹下新建bootstrap.yml,内容如下:
spring: profiles: active: dev application: name: jeecg-system cloud: nacos: discovery: server-addr: 127.0.0.1:8848 feign: sentinel: enabled: true
4.修改dev配置文件,删除截图中两处配置
5.启动类添加注解: @EnableDiscoveryClient
二、升级其他模块为独立服务(例如demo模块)
以demo为例:
1.修改pom,将local-api修改成cloud-api
<dependency> <groupId>org.jeecgframework.boot</groupId> <artifactId>jeecg-system-cloud-api</artifactId> </dependency>
2.添加配置文件bootstrap.yml(如果没有),内容如下:
spring: profiles: active: dev application: name: jeecg-demo cloud: nacos: discovery: server-addr: 127.0.0.1:8848 feign: sentinel: enabled: true
3.新增配置文件application-dev.yml(如果没有),内容可以直接复制system下的同名文件,需要修改端口号
4.在org.jeecg包下新建启动类(如果没有)
package org.jeecg; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.openfeign.EnableFeignClients; import java.net.UnknownHostException; @SpringBootApplication @EnableDiscoveryClient @EnableFeignClients public class JeecgDemoApplication { public static void main(String[] args) throws UnknownHostException { SpringApplication.run(JeecgDemoApplication.class, args); } }
上述步骤完成 即可启动nacos 运行每个模块的启动类 测试微服务。
三、启动Nacos
微服务集成Nacos服务注册发现
docke安装nacos文档: https://nacos.io/zh-cn/docs/quick-start-docker.html
1.启动nacos,访问 localhost:8848/nacos
账号密码 都是nacos,查看服务列表
2.启动system、demo,再查看服务列表
四、启动gateway
启动类: org.jeecg.JeecgGatewayApplication
查看在线接口文档: http://127.0.0.1:9999/doc.html
五、启动前端
前端项目找到文件public/index.html,修改后台服务为 gateway地址 修改地址:window._CONFIG['domianURL'] = 'http://127.0.0.1:9999,其中端口号 9999和gateway的端口保持一致
相关推荐
7. **微服务架构**:尽管称为“小架构”,但Jeecg也支持微服务的构建,可以通过拆分核心功能为独立的服务,实现服务间的解耦,提高系统的可伸缩性。 8. **报表和图表**:Jeecg内置了报表和图表组件,能够方便地生成...
微服务架构的出现是为了解决传统单体架构的局限性,如耦合度高、可维护性差、扩展性差等。 中台战略是指在企业级别上构建一个能力复用平台,提供业务能力、数据能力和平台能力等多种能力,实现企业级别的复用和共享...
内容概要:本文详细探讨了从单体架构到微服务架构的演变历程,分析了单体、分布式、SOA、微服务等架构的优势和局限性,以及它们在不同历史阶段出现和淘汰的原因。文章通过历史视角和具体案例,解释了为何单体和...
【精品】潘志伟-从单体到微服务再到中台战略的历程-IAS2019演讲.pdf
综上所述,从中台战略的角度看,企业从单体架构向微服务架构转型,再发展到中台,是为了提高业务灵活性、降低重复建设,以及更好地复用核心能力。这需要通过基础服务治理、自动化工具、统一标准和良好的组织协作来...
3. 灵活性:支持多种部署模式,包括单体应用、微服务架构,适应不同规模的企业需求。 4. 扩展性:Jeecg采用模块化设计,方便扩展和定制,可以很好地适应企业业务的变化。 六、应用场景 Jeecg开源免费版工作流适用于...
"jeecg-boot-master.zip" 是一个压缩包文件,它包含了一个名为 "jeecg-boot-master" 的项目源代码。这个项目的版本可能是 "4.1.13 sub",这通常意味着它是Jeecg-Boot框架的一个特定版本,Jeecg-Boot是一个基于Java的...
【单体应用到微服务改造】的转型是现代软件开发中的常见趋势,旨在提升系统的可扩展性、可维护性和容错性。本文将探讨这一转变过程中涉及的关键知识点,并结合具体的房产销售平台案例进行阐述。 首先,房产销售平台...
《从单体到微服务再到中台战略的历程》是由潘志伟先生在IAS2019演讲中分享的主题,该演讲深入探讨了IT架构的发展趋势,从传统的单体架构到微服务,再到中台战略的演进过程,揭示了企业信息化建设的关键路径。...
【标题】: "从单体到微服务再到中台战略的历程" 【描述】: 本文将探讨企业从传统的单体架构逐步演进至微服务架构,最终采用中台战略的发展过程,阐述其中的关键概念、挑战及解决方案。 【标签】: 解决方案 **一、...
【标题】"基于微服务架构改造单体架构的实践总结" 在现代软件开发领域,微服务架构已经成为一种主流的设计模式,特别是在大型企业级应用中。本文将深入探讨华为讲师李林峰在2016年中国软件峰会上分享的关于如何从...
本项目是一款基于renren-generator深度定制的代码生成器,可一键生成单体或微服务架构的前后端代码,涵盖Java、JavaScript、CSS和HTML等多种语言,共计110个文件,包括32个Java源文件、21个VM文件、15个JavaScript...
随着业务的发展,单体架构变为微服务架构,并且系统规模也变得越来越大,各微服务间的调用关系也变得越来越复杂。在微服务的应用中,一个由客户端发起的请求在后端系统中会经过多个不同的微服务调用来协同产生最后的...
微服务架构(Microservice Architecture)是对单体架构的改进,它将一个单一应用划分成一组小的服务,每个服务围绕特定业务进行构建,并且能够独立部署、升级和扩展。每个微服务可以使用不同的编程语言和技术栈,...
根据提供的文件信息,以下是对华为架构师李林锋在DBAplus社群分享的“从单体架构到微服务的服务化演进之路”中涉及知识点的详细解析。 ### 传统应用开发面临的挑战 #### 研发成本高 传统应用开发面临的主要挑战之...
基于Java的微服务实践,单体微服务创建、Docker部署、Dubbo微服务实践等.zip 基于Java的微服务实践。包括Spring Boot开发Web应用、Sping Boot的Docker部署、Dubbo微服务实践等。 示例代码 spring-boot-jpa-...
MyShop是一个基于Java的SpringBoot v1.0单体微服务设计源码,包含528个文件,其中包括143个.class文件、138个.java源文件、40个.jsp文件、38个.xml文件、37个.js文件、35个.gif图片文件、34个.png图片文件、25个.css...