All Projects → aillamsun → Genesis

aillamsun / Genesis

Spring cloud Example

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Genesis

Mall
mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。
Stars: ✭ 54,797 (+65920.48%)
Mutual labels:  swagger-ui, mybatis, spring-boot, spring-cloud
Simplemall
基于SpringCloud的微服务架构实战案例项目,以一个简单的购物流程为示例,融合spring cloud 相关组件,如spring-cloud-netflix、swagger等
Stars: ✭ 687 (+727.71%)
Mutual labels:  eureka, spring-boot, spring-cloud
Spring Cloud Examples
Spring Cloud 学习案例,服务发现、服务治理、链路追踪、服务监控等
Stars: ✭ 5,829 (+6922.89%)
Mutual labels:  eureka, spring-boot, spring-cloud
Microservices Example
Example of a microservices architecture on the modern stack of Java technologies
Stars: ✭ 66 (-20.48%)
Mutual labels:  eureka, spring-boot, spring-cloud
Bookstoreapp Distributed Application
Ecommerce project is being developed using Spring Boot Microservices and Spring Cloud (Backend) and React (Frontend). Splitting the Ecommerce functionality into various individual microservices so that they can be distributed, scale really well and make use of resources efficiently.
Stars: ✭ 63 (-24.1%)
Mutual labels:  eureka, spring-boot, spring-cloud
Jeecg Boot
「企业级低代码平台」前后端分离架构SpringBoot 2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT。强大的代码生成器让前后端代码一键生成,无需写任何代码! 引领新的开发模式OnlineCoding->代码生成->手工MERGE,帮助Java项目解决70%重复工作,让开发更关注业务,既能快速提高效率,帮助公司节省成本,同时又不失灵活性。
Stars: ✭ 26,432 (+31745.78%)
Mutual labels:  mybatis, spring-boot, spring-cloud
Web Development Interview With Java
Java 开发相关技术栈(大中厂)高频面试问题收录。
Stars: ✭ 69 (-16.87%)
Mutual labels:  mybatis, spring-boot, spring-cloud
Spring Boot Demo
spring boot demo 是一个Spring Boot、Spring Cloud的项目示例,根据市场主流的后端技术,共集成了30+个demo,未来将持续更新。该项目包含helloworld(快速入门)、web(ssh项目快速搭建)、aop(切面编程)、data-redis(redis缓存)、quartz(集群任务实现)、shiro(权限管理)、oauth2(四种认证模式)、shign(接口参数防篡改重放)、encoder(用户密码设计)、actuator(服务监控)、cloud-config(配置中心)、cloud-gateway(服务网关)等模块
Stars: ✭ 323 (+289.16%)
Mutual labels:  mybatis, spring-boot, spring-cloud
Springcloud Learning
Spring Cloud基础教程,持续连载更新中
Stars: ✭ 6,839 (+8139.76%)
Mutual labels:  eureka, spring-boot, spring-cloud
Jbone
jbone基于Spring Cloud框架开发,旨在为中小企业提供稳定的微服务解决方案,为开发人员提供基础开发骨架,jbone包含微服务中所有常用组件,例如注册中心、服务管理、服务监控、JVM监控、内存分析、调用链跟踪、API网关等等。业务功能包括系统权限的统一管理、单点登录、CMS、电商平台、工作流平台、支付平台等等。
Stars: ✭ 961 (+1057.83%)
Mutual labels:  eureka, spring-boot, spring-cloud
Spring Boot Api Project Seed
🌱🚀一个基于Spring Boot & MyBatis的种子项目,用于快速构建中小型API、RESTful API项目~
Stars: ✭ 8,979 (+10718.07%)
Mutual labels:  mybatis, mapper, spring-boot
Cookbook
🎉🎉🎉JAVA高级架构师技术栈==任何技能通过 “刻意练习” 都可以达到融会贯通的境界,就像烹饪一样,这里有一份JAVA开发技术手册,只需要增加自己练习的次数。🏃🏃🏃
Stars: ✭ 428 (+415.66%)
Mutual labels:  mybatis, spring-boot, spring-cloud
Sample Spring Microservices
Many samples in different branches that shows how to create microservices with Spring Boot, Spring Cloud, Zipkin, Zuul, Eureka, Hystrix, Kubernetes, Elastic Stack and many more tools
Stars: ✭ 368 (+343.37%)
Mutual labels:  eureka, spring-boot, spring-cloud
Light Reading Cloud
📚 轻松阅读,基于SpringCloud生态开发的阅读类APP微服务实战项目,涉及 SpringCloud-Gateway、Nacos、OpenFeign、Hystrix、Jwt、ElasticSearch 等技术的应用
Stars: ✭ 506 (+509.64%)
Mutual labels:  eureka, mybatis, spring-cloud
Lamp Cloud
lamp-cloud 基于Jdk11 + SpringCloud + SpringBoot的微服务快速开发平台,其中的可配置的SaaS功能尤其闪耀, 具备RBAC功能、网关统一鉴权、Xss防跨站攻击、自动代码生成、多种存储系统、分布式事务、分布式定时任务等多个模块,支持多业务系统并行开发, 支持多服务并行开发,可以作为后端服务的开发脚手架。代码简洁,注释齐全,架构清晰,非常适合学习和企业作为基础框架使用。
Stars: ✭ 4,125 (+4869.88%)
Mutual labels:  eureka, mybatis, spring-cloud
Spring Boot Examples
about learning Spring Boot via examples. Spring Boot 教程、技术栈示例代码,快速简单上手教程。
Stars: ✭ 26,812 (+32203.61%)
Mutual labels:  mybatis, spring-boot, spring-cloud
Mini Platform
Mini-Platform致力于更简洁易用的轻量级微服务治理平台。
Stars: ✭ 45 (-45.78%)
Mutual labels:  eureka, spring-boot, spring-cloud
taotao-cloud-project
微服务开发脚手架,包括大数据模块、微服务模块、前端模块。基于Spring Cloud Alibaba的微服务架构。提供技术框架的基础能力的封装,减少开发工作,只关注业务,包含了工作以来的工作总结和技术沉淀
Stars: ✭ 76 (-8.43%)
Mutual labels:  spring-cloud, mybatis, eureka
Hope Boot
🌱 Hope-Boot 一款现代化的脚手架项目
Stars: ✭ 3,241 (+3804.82%)
Mutual labels:  mybatis, mapper, spring-boot
Weixin Shop Spring Cloud
微信商城SpringCloud版本 - 前端vue-shop
Stars: ✭ 717 (+763.86%)
Mutual labels:  mybatis, spring-boot, spring-cloud

Genesis. Is a Spring Cloud Project


技术架构

genesis 是一个基于Spring cloud(Camden.SR1) Spring Boot(1.4.1.RELEASE) Mybatis(3.3.0) 通用Mapper 通用分页Pagehelper完成的一个基础组件架构, 使用Spring Cloud Eureka、Feign、Zuul、Spring config、Zipkin、Sleuth、Hystrix Turbine、Hystrix Dashboard...

MAVEN模块说明

1. 基础组件说明

项目名称 端口 描述 URL
genesis-common 公共模块(工具类,资源......)
genesis-core 核心代码
genesis-model 公共实体对象
spar_generator 生成mybatis mapper model实体
spar_mapper 抽离的mapper mapper.xml

2. Spring Cloud(genesis-microservices)组件说明

项目名称 端口 描述 URL
genesis-microservices-discovery 8761 8762 8763 服务注册中心(用作和8762 8763实现高可用注册中心)
genesis-microservices-config 8040 服务配置中心服务
genesis-microservices-config-client 8041 服务配置客户端测试启动访问(ip:port/message打印)
genesis-microservices-gateway 8050 服务网关
genesis-microservices-hystrix-dashboard 8051 服务监控(Hystrix Dashboard)
genesis-microservices-hystrix-turbine 8052 服务监控(Hystrix Turbine)
genesis-microservices-monitor 8060 服务监控(spring boot admin)
genesis-microservices-security security
genesis-microservices-sleuth 8092 提供测试Zipkin 服务 提供本地、远程调用API
genesis-microservices-zipkin 8091 Zipkin Server 对Spring Cloud应用进行服务追踪分析(主要和Sleuth)
genesis-microservices-bus-kafka bus-kafka
genesis-microservices-bus-amqp bus-amqp

3. Spring(genessis-spring)扩展组件说明

项目名称 端口 描述 URL
genesis-spring-extends Spring 扩展(更新中...)
genesis-spring-plugins Spring 插件(更新中...)
genesis-spring-plugins-mybatis Spring boot mybatis stater自定义(在genesis-provider-goods使用测试)

4. Examples(genesis-examples) 提供真是服务使用

项目名称 端口 描述 URL
genesis-common-config 通用配置
genesis-provider-by-feign 8080 API接口(使用Feign 负载均衡)
genesis-provider-by-ribbon 8084 API接口(使用 Ribbon 负载均衡)
genesis-provider-by-zuul 8085 API接口网关(使用Zuul)
genesis-provider-goods 8081 Goods服务提供者(此服务使用了genesis-spring-plugins-mybatis stater)
genesis-provider-goods2 8082 Goods服务提供者(用于启动测试 API goods模块Feign Client负载均衡)
genesis-provider-order 8083 Order服务提供者
genesis-sleuth-zipkin-demo 8093 sleuth-zipkin-demo 接口

5. 分布式事务Example(更新中....)(genesis-transaction-examples) 提供LCN分布式事务功能实现 |

项目名称 端口 描述 URL
tx-manager 8010 事务管理
tx-user-ms 8011 用户服务
tx-userMoney-ms 1012 用户金钱管理服务

架构图(目前待完善)

后续会更新架构图出去,暂时先这样看着... 焦灼中..........

Markdown

服务中心HA说明

项目名称 端口 描述 URL
genesis-microservices-discovery 8761 8762 8763 服务注册中心)
  • 1,(C:\Windows\System32\drivers\etc\hosts文件)
127.0.0.1 discovery1
127.0.0.1 discovery2
127.0.0.1 discovery3
  • 2,每个配置里面都有一个application.properties,本机为了方便在idea工具启动 所以使用了两个项目
  • 3,以后线上可以使用一个工程即可 如下:

application-chengdu-1.properties

spring.application.name=eureka-server-clustered
server.port=8761
eureka.instance.hostname=discovery1
eureka.client.serviceUrl.defaultZone=http://${security.user.name}:${security.user.password}@discovery2:8762/eureka/,http://${security.user.name}:${security.user.password}@discovery3:8763/eureka/

application-chengdu-2.properties

spring.application.name=eureka-server-clustered
server.port=8762
eureka.instance.hostname=discovery2
eureka.client.serviceUrl.defaultZone=http://${security.user.name}:${security.user.password}@discovery1:8761/eureka/,http://${security.user.name}:${security.user.password}@discovery3:8763/eureka/

application-chengdu-3.properties

spring.application.name=eureka-server-clustered
server.port=8763
eureka.instance.hostname=discovery3
eureka.client.serviceUrl.defaultZone=http://${security.user.name}:${security.user.password}@discovery1:8761/eureka/,http://${security.user.name}:${security.user.password}@discovery2:8762/eureka/

命令启动格式1:

java -jar discovery-1.0.0.jar  --spring.profiles.active=chengdu-1
java -jar discovery-1.0.0.jar --spring.profiles.active=chengdu-2
java -jar discovery-1.0.0.jar --spring.profiles.active=chengdu-3

命令修改为:

java -jar discovery-1.0.0.jar

效果图:

访问discovery1

discovery1

监控视图测试

使用说明:

Spring boot Admin 监控

  • 数据库脚本 genesis-common-config resources/db/下面spring-cloud-test.sql
  • 首先启动:genesis-microservices-monitor 端口 8060
  • 启动 genesis-provider-goods 端口 8081

访问 http://localhost:8060 admin UI 访问 http://localhost:8081/goods

效果图


Hystrix-dashboard 监控

  • 数据库脚本 genesis-common-config resources/db/下面spring-cloud-test.sql
  • 首先启动:genesis-microservices-discovery
  • 启动genesis-microservices-hystrix-dashboard 端口 8051
  • 启动genesis-provider-by-feign 端口8080

访问 http://localhost:8051 在地址栏输入:http://localhost:8080/hystrix.stream

效果图

效果图


Hystrix Turbine 监控

  • 数据库脚本 genesis-common-config resources/db/下面spring-cloud-test.sql
  • 首先启动:genesis-microservices-discovery
  • genesis-provider-goods,genesis-provider-order
  • genesis-provider-by-feign,genesis-provider-by-ribbon
  • genesis-microservices-hystrix-dashboard 端口 8051
  • 启动genesis-microservices-hystrix-turbine 端口 8052
  • 分别启动 genesis-provider-goods 端口8081 、genesis-provider-order 端口 8083

访问http://localhost:8051 输入框输入:http://localhost:8052/turbine.stream 分别访问 feign ribbon

效果图1

效果图1 确认:

效果图2

效果图2

服务跟踪监控Zipkin、Sleuth 测试

使用说明:

项目启动

  • 启动 Zipkin Server 服务 genesis-microservices-zipkin 端口 8091
  • 启动 Zipkin Server 服务demo genesis-microservices-sleuth 端口 8092
  • 启动测试 Zipkin、Sleuth 服务提供者 genesis-sleuth-zipkin-demo 端口 8093
  • 直接调用 8092 Controller接口即可

跟踪列表效果图

跟踪列表

跟踪详细信息效果图

跟踪详细信息

Zuul 和 Feign 测试

使用说明:

1,项目启动:

  • 数据库脚本 genesis-common-config resources/db/下面spring-cloud-test.sql
  • 首先启动:genesis-microservices-discovery
  • 测试Fegin可以启动genesis-provider-by-feign。前提启动genesis-provider-good、genesis-provider-order
  • 测试Zuul可以启动genesis-provider-by-zuul 。前提启动genesis-provider-good、genesis-provider-order
  • genesis-provider-by-feign提供swgger UI 通过API文档Try 就可以了

API 文档访问测试

使用说明:

1,项目启动:

分布式事务基于Spring Cloud + LCN

LCN

首先感谢LCN提供

LCN

使用说明:

1,项目启动:

效果图 manager

  • 启动 tx-user-ms 和 tx-user-money-ms

测试

Controller

@RequestMapping(value = "/save",method = RequestMethod.POST)
    public int save() {
        return userService.save();
    }

Service

    @TxTransaction
    @Transactional
    public int save() {

        User user = new User();
        user.setUserName("Test Tx");
        user.setPassword("11111");
        int rs1 = userMapper.insert(user);
        /**
         * 保存 余额 分布式服务
         */
        int rs2 = userMoneyClient.save();

        /**
         * 抛出异常
         */
        int v = 100 / 0;
        return rs1 + rs2;
    }

UserMoneyClient

@FeignClient(name = "genesis-tx-user-money-ms", configuration = TransactionRestTemplateConfiguration.class)
public interface UserMoneyClient {

    @RequestMapping(value = "/user-money/save",method = RequestMethod.POST)
    int save();
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].