All Projects → moshowgame → Spring Cloud Study

moshowgame / Spring Cloud Study

SpringBootLearning,SpringCloudStudy,学习SpringBoot2/SpringCloud2的项目,包含Eureka/Zuul/JPA/Mybatis Plus/Feign/WebSocket/JMS/POI-TL/Redis Cache/UDP/SecurityJWT/elasticSearch/Drools

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Spring Cloud Study

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 (-32.35%)
Mutual labels:  spring-boot, spring-cloud
Abixen Platform
Abixen Platform
Stars: ✭ 530 (-2.57%)
Mutual labels:  spring-boot, spring-cloud
Springall
循序渐进,学习Spring Boot、Spring Boot & Shiro、Spring Batch、Spring Cloud、Spring Cloud Alibaba、Spring Security & Spring Security OAuth2,博客Spring系列源码:https://mrbird.cc
Stars: ✭ 22,375 (+4013.05%)
Mutual labels:  spring-boot, spring-cloud
Youlai Mall
youlai-mall 是基于Spring Boot 2.4、Spring Cloud 2020 & Alibaba、Vue、element-ui、uni-app快速构建的一套全栈开源商城平台,包括系统权限管理、微服务应用、微信小程序及APP应用
Stars: ✭ 331 (-39.15%)
Mutual labels:  spring-boot, spring-cloud
Spring Cloud Netflix
Integration with Netflix OSS components
Stars: ✭ 4,498 (+726.84%)
Mutual labels:  spring-boot, spring-cloud
Spring Cloud Bus
Spring Cloud event bus
Stars: ✭ 342 (-37.13%)
Mutual labels:  spring-boot, spring-cloud
Matecloud
🔥MateCloud是一款基于Spring Cloud Alibaba的微服务架构。目前已经整合Spring Cloud Alibaba、Spring Security Oauth2、Feign、Dubbo、JetCache、RocketMQ等服务套件,为您的开发保驾护航
Stars: ✭ 412 (-24.26%)
Mutual labels:  spring-boot, spring-cloud
Java Spring Cloud
Distributed tracing for Spring Boot, Cloud and other Spring projects
Stars: ✭ 326 (-40.07%)
Mutual labels:  spring-boot, spring-cloud
Jeecg Boot
「企业级低代码平台」前后端分离架构SpringBoot 2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT。强大的代码生成器让前后端代码一键生成,无需写任何代码! 引领新的开发模式OnlineCoding->代码生成->手工MERGE,帮助Java项目解决70%重复工作,让开发更关注业务,既能快速提高效率,帮助公司节省成本,同时又不失灵活性。
Stars: ✭ 26,432 (+4758.82%)
Mutual labels:  spring-boot, spring-cloud
Cookbook
🎉🎉🎉JAVA高级架构师技术栈==任何技能通过 “刻意练习” 都可以达到融会贯通的境界,就像烹饪一样,这里有一份JAVA开发技术手册,只需要增加自己练习的次数。🏃🏃🏃
Stars: ✭ 428 (-21.32%)
Mutual labels:  spring-boot, spring-cloud
Spring Cloud Commons
Common classes used in different Spring Cloud implementations
Stars: ✭ 493 (-9.37%)
Mutual labels:  spring-boot, spring-cloud
Spring Cloud Security
Security concerns for distributed applications implemented in Spring
Stars: ✭ 488 (-10.29%)
Mutual labels:  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 (-40.62%)
Mutual labels:  spring-boot, spring-cloud
His
HIS英文全称 hospital information system(医院信息系统http://59.110.234.89:9999/swagger-ui.html ),医疗信息就诊系统,系统主要功能按照数据流量、流向及处理过程分为临床诊疗、药品管理、财务管理、患者管理。诊疗活动由各工作站配合完成,并将临床信息进行整理、处理、汇总、统计、分析等。本系统包括以下工作站:门诊医生工作站、药房医生工作站、医技医生工作站、收费员工作站、对帐员工作站、管理员工作站。需求为东软提供的云医院。
Stars: ✭ 359 (-34.01%)
Mutual labels:  spring-boot, spring-cloud
Novel Cloud
小说精品屋-微服务版是基于小说精品屋-plus构建的Spring Cloud 微服务技术栈学习型小说项目,致力于原创文学阅读与写作,提供了爬虫工具用于开发过程中测试数据的采集。采用了时下流行的Spring Boot 2 、Spring Cloud Hoxton、 MyBatis3DynamicSql、Sharding-Jdbc、Redis、RabbitMq、Elasticsearch、Docker等流行技术,集成了Nacos注册中心/配置中心、Spring Cloud Gateway网关、Spring Boot Admin监控中心、ELK分布式日志分析等基础服务。前端计划使用Vue开发。
Stars: ✭ 329 (-39.52%)
Mutual labels:  spring-boot, spring-cloud
Cloude
基于spring cloud的分布式系统架构。提供整套的微服务组件,包括服务发现、服务治理、链路追踪、服务监控等
Stars: ✭ 389 (-28.49%)
Mutual labels:  spring-boot, spring-cloud
Micro Company
Rest-full, Hipermedia-based distributed application. Spring boot & cloud. Angular. CQRS. Eventsourcing. Axonframework. Microservices. Docker. CloudFoundry
Stars: ✭ 307 (-43.57%)
Mutual labels:  spring-boot, spring-cloud
Springy Store Microservices
Springy Store is a conceptual simple μServices-based project using the latest cutting-edge technologies, to demonstrate how the Store services are created to be a cloud-native and 12-factor app agnostic. Those μServices are developed based on Spring Boot & Cloud framework that implements cloud-native intuitive, design patterns, and best practices.
Stars: ✭ 318 (-41.54%)
Mutual labels:  spring-boot, spring-cloud
Shop
spring cloud最佳实践项目实例,使用了spring cloud全家桶,TCC事务管理,EDA事务最终一致性等技术的下单示例
Stars: ✭ 418 (-23.16%)
Mutual labels:  spring-boot, spring-cloud
Spring Cloud Zookeeper
Spring Cloud Zookeeper
Stars: ✭ 481 (-11.58%)
Mutual labels:  spring-boot, spring-cloud

image image Build Status

SpringBootLearning && SpringCloudLearning

SpringBoot+微服务学习项目。请根据需要开启依赖。感谢大家的关注、支持和反馈。
http://zhengkai.blog.csdn.net

工程名 描述 端口
spring-cloud-study-eureka 服务发现与注册中心 8888
spring-cloud-study-zuul 动态转发路由器 7777
spring-cloud-study-demo DEMO项目(含websocket,json,不含jpa) 9999
spring-cloud-study-configcenter 配置中心 5555
spring-cloud-study-jpa JPA(hibernate实现) 4444
spring-cloud-study-feign 微服务远程调用 6666
spring-cloud-study-redis 热点数据缓存 2222
spring-cloud-study-jms JMS(Java消息服务,ActiveMQ实现) 1111
spring-cloud-study-mybatisplus mybatisplus(mybatis的加强版) 3333
spring-cloud-study-poi poi导入 8899
spring-cloud-study-aop aop切面编程 9998
spring-cloud-study-udp netty实现udp 9898
spring-cloud-study-netty-websocket netty实现websocket 6688
spring-cloud-study-security spring-security-demo自定义授权 9999
spring-cloud-study-security-jwt spring-security-JWT授权 9999
spring-cloud-study-elasticsearch spring-data-elasticsearch,强大的搜索和分析引擎 9999
spring-cloud-study-drools drools(jboss rules)强大的业务规则引擎 9999
spring-cloud-study-logstash springboot2+logback+logstash+elasticsearch+kibana打造强大的日志收集分析系统 9999
spring-cloud-study-websocket springboot2+websocket,整合基于IM的优化版本 9999
spring-cloud-study-ehcache springboot2+ehcache,纯java进程缓存框架 9999

一、运行环境


- 版本:SpringCloud/SpringBoot 2.X
- 环境:JDK8/11
- 编码:UTF-8
- IDE:Spring Tool Suit(STS)/IDEA(推荐)/VSCode with STS(New)
 <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.8</java.version>
  </properties>

二、有关项目启动和配置的说明

  • 由于子项目太多,暂时移除所有模块的引用,请自己根据需要请到父项目的pom.xml启用对应module
  • 大部分模块均为springboot 可独立启动模块,可不依赖eureka注册中心等springcloud组件。
  • 如果学习微服务,请请先启动spring-cloud-study-eureka基础模块,因为它是注册中心,大多数微服务必须依赖于它才能实现必要的功能。
  • zuul路由中心(后续会升级为ApiGateway),启用spring-cloud-study-zuul,并配置yml文件即可(已经带了一点小配置,可根据实际情况修改)。
  • 按需启用spring-cloud-study-demo/spring-cloud-study-configcenter/spring-cloud-study-jpa/spring-cloud-study-feign等等
  • 其他模块均不需要eureka等模块,可直接启动

三、使用说明

Eureka

微服务注册中心,SpringCloud全家桶,Netflix版注册中心。这个优先启动,是一切微服务的基础也可以修改配置,进行集群,这里默认单机单例


http://127.0.0.1:8888/eureka 注册中心

Zuul(@Deprecated,应该用ApiGateway了)

API网关/路由,ZUUL是阻塞的,APIGateway是NIO的。
分发方式一,分发搭配/api1,修改yml就可以了,推荐用指定serviceId的
分发方式二,分发路由,直接根据serviceId访问,无需配置
转发的ServiceId是根据项目配置的spring:application:name: spring-cloud-study-demo 来的

http://127.0.0.1:7777/spring-cloud-study-demo/demo/index 自动分发请求
http://127.0.0.1:7777/api2/demo/index 路由转发请求到配置文件配置的/api2上
http://127.0.0.1:7777/api1/demo/socket/222 路由转发请求到配置文件配置的/api1上

DEMO

正常的访问请求而已,返回json什么的 还支持WebSocket,对WebSocket不懂的可以看我这个文章https://blog.csdn.net/moshowgame/article/details/80275084

http://127.0.0.1:9999/demo/socket/222 websocket请求页面
http://127.0.0.1:9999/demo/index json数据返回
http://127.0.0.1:9999/demosocket/222 socket请求地址
http://127.0.0.1:9999/basepath 获取微服务路径

Configcenter

配置中心,用于读取公共配置文件

http://127.0.0.1:5555/getparam 获取变量
http://127.0.0.1:5555/application/dev 获取application-dev.yml的变量

JPA

JPA是一个标准,Hibernate是实现,实现简单、强大的CRUD功能。已经脱离eureka,需要加入的话自己去掉pom和启动器的eureka相关注释即可。另外,只要数据库连接正常,启动项目可以自动建表,使用init方法可以自动初始化数据,无需自己动数据库

http://127.0.0.1:4444/jpa/user/init/8899 初始化8899的用户
http://127.0.0.1:4444/jpa/user/roles/8899 获取8899用户的角色

Feign

Feign用于远程调用微服务,这里用来调用demo的内容,请先启动eureka+demo再启动这个
具体配置可以看我的文章https://blog.csdn.net/moshowgame/article/details/80616624

http://127.0.0.1:9999/demo/getData/222?data=hahahha
http://127.0.0.1:6666/feign/remote/demo/getData/222?data=springcloudstudy 远程调用demo
http://127.0.0.1:7777/spring-cloud-study-feign/feign/remote/demo/getData/222?data=springcloudstudybyzuul 理由转发+远程调用demo

Redis/SpringCache

Redis 是一个高性能的key-value数据库,广泛应用于互联网业务的缓存,如token池,商品缓存等等热点数据的缓存。
详情请看https://blog.csdn.net/moshowgame/article/details/80792774

【放入缓存】 http://127.0.0.1:2222/redis/item/2 {"itemId":2,"itemName":"德玛西亚2"}
【放入缓存】 http://127.0.0.1:2222/redis/item/3 {"itemId":3,"itemName":"德玛西亚3"}
【读取缓存(可以去RedisDesktopManager看一下,已经有数据了)】 http://127.0.0.1:2222/redis/item/2 {"itemId":2,"itemName":"德玛西亚2"}
【读取缓存(可以去RedisDesktopManager看一下,已经有数据了)】 http://127.0.0.1:2222/redis/item/3 {"itemId":3,"itemName":"德玛西亚3"}
【放入list缓存】 http://127.0.0.1:2222/redis/item/all [{"itemId":666,"itemName":"德玛西亚666"},{"itemId":999,"itemName":"德玛西亚999"}]
【读取list缓存(这是一个空方法,只是因为有了缓存才有数据)】 http://127.0.0.1:2222/redis/item/all2 [{"itemId":666,"itemName":"德玛西亚666"},{"itemId":999,"itemName":"德玛西亚999"}]
【更新缓存】 http://127.0.0.1:2222/redis/item/2/update {"itemId":2,"itemName":"德玛西亚XXX2"}
【重新读取缓存】 http://127.0.0.1:2222/redis/item/2 {"itemId":2,"itemName":"德玛西亚XXX2"}
【EL表达式指定KEY】 http://127.0.0.1:2222/redis/item/object?itemId=4&itemName=XXXX 返回结果 {"itemId":4,"itemName":"XXXX"}
【获取缓存(结果不变还是XXXX不是4444)】 http://127.0.0.1:2222/redis/item/object?itemId=4&itemName=4444 返回结果 {"itemId":4,"itemName":"XXXX"}

JMS/ActiveMQ

详情请看https://blog.csdn.net/moshowgame/article/details/80836621

发送消息 http://127.0.0.1:1111/jms/email/send 控制台显示Received

Mybatis-Plus 3

Mybatis-Plus 是一款 Mybatis 动态 SQL 自动注入 Mybatis 增删改查 CRUD 操作中间件, 减少你的开发周期优化动态维护 XML 实体字段,无入侵全方位 ORM 辅助层让您拥有更多时间陪家人。
详情请看https://blog.csdn.net/moshowgame/article/details/81008485

http://127.0.0.1:3333/mybatisplus/user/init 数据初始化
http://127.0.0.1:3333/mybatisplus/user/find 通过QueryWarrap构造器查询

POI-TL/Word Model

很多时候我们网站或者系统需要提供一些word文件,例如证明.docx或者订单.docx等文件供用户下载打印等。 用Java操作word文档,毫无疑问,当下最流行apache poi,对于poi如何操作word文档,这里不作过多介绍。 这里主要讲解如何通过一个制作好的word模板文件,通过数据填充,生成加工好的word文件。 详情请看https://blog.csdn.net/moshowgame/article/details/81702029

http://127.0.0.1:8899/poi/generateWord 通过Word模板生成Word文件

Spring AOP

Aspect Oriented Programming(AOP),面向切面编程,是一个比较热门的话题。AOP主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。比如我们最常见的就是日志记录了,不可能每个业务都去加写日志发的功能吧,我们就用切面,将需要记录日志的地方切一下,配置自动记录日志即可。 详情请看https://blog.csdn.net/moshowgame/article/details/85814808

http://127.0.0.1:9998/aop/index 查看控制台AOP情况

Netty-UDP

UDP是用户数据报协议(User Datagrame Protocol,UDP)的简称,主要作用是将网络数据流压缩成数据报的形式,提供面向事务的简单信息传送服务。
具体可以看我的文章https://blog.csdn.net/moshowgame/article/details/88420880

服务端运行方法 运行ChineseProverbServer的main方法
客户端运行方法 运行ChineseProverbClient的main方法

Netty-WebSocket

基于Netty的Websocket,稳定性性能秒杀原生。
详情请看https://blog.csdn.net/moshowgame/article/details/91552993

http://127.0.0.1:6688/netty-websocket/index 运行多个查看结果

Spring-Security-Filter

基于spring-security的自定义登录模块。

http://127.0.0.1:9999/security/index 首页
http://127.0.0.1:9999/security/login 登录页面
http://127.0.0.1:9999/security/user/list 需要授予USER权限访问的页面

Spring-Security-JWT

基于spring-security-jwt授权模块。详情请看https://blog.csdn.net/moshowgame/article/details/96476554

http://127.0.0.1:9999/security/auth 登录接口,json body是{"username":"users","password":"pass"}
http://127.0.0.1:9999/security/token 获取Token信息,Header是Authorization:Bearer +Token

Spring-Data-ElasticSearch

基于spring-boot-starter-data-elasticsearch的搜索和分析引擎模块。详情请看https://blog.csdn.net/moshowgame/article/details/96768494

http://127.0.0.1:9999/es/save 新增记录
http://127.0.0.1:9999/es/search 搜索记录

Springboot2+Drools

Drools是一个易于访问企业策略、易于调整以及易于管理的开源业务规则引擎,特点就是速度快、效率高。 如果你还在使用复杂的JAVA代码校验复杂的优惠券/超市打折/计价规则/商品定价/阶梯定价/游戏规则/业务规则?试试用Drools来解救代码吧,适用但不仅仅包含以上场景。详情请看https://blog.csdn.net/moshowgame/article/details/98061651

http://127.0.0.1:9999/drools/taxi/cal?distanceInMile=18 打车18公里
http://127.0.0.1:9999/drools/taxi/cal?distanceInMile=2 打车2公里
http://127.0.0.1:9999/drools/taxi/cal?distanceInMile=3.5 打车3.5公里

SpringBoot2+Logback+Logstash+ElasticSearch+Kibana

Logstash收集AppServer产生的Log,并存放到ElasticSearch集群中,而Kibana则从ES集群中查询数据生成图表,再返回给Browser。详情请看https://blog.csdn.net/moshowgame/article/details/98851656

http://127.0.0.1:9200 ElasticSearch查看运行情况
http://127.0.0.1:9999/logstash 输出Log日志
http://127.0.0.1:5601/app/kibana kibana查看日志

Websocket IM

基于SpringBoot2+WebSocket,整合了简单IM的优化版,简单明了入门无压力,集群部分未实现(即发送的userId不在当前服务器)

http://127.0.0.1:9999/demo/page 打开第一个页面,userId=10/toUserId=20
http://127.0.0.1:9999/demo/page 打开第二个页面,userId=20/toUserId=10
http://127.0.0.1:9999/demo/push/10?message=moshowCallU 给对应的用户推送信息

EhCache

Ehcache是一个基于标准的开源缓存,可提高性能,减轻数据库负载并简化可伸缩性。 它是最广泛使用的基于Java的缓存,因为它健壮,可靠,功能齐全并与其他流行的库和框架集成。
详情请看https://zhengkai.blog.csdn.net/article/details/109251757

http://localhost:9999/ehcache/cert/find?certId=1&certNumber=111111 查询并建立缓存
http://localhost:9999/ehcache/cert/find?certId=1 查询缓存
http://localhost:9999/ehcache/cert/save?certId=1&certNumber=111111 清除缓存
http://localhost:9999/ehcache/cert/find?certId=1&certNumber=2222 重新查询并建立缓存
http://localhost:9999/ehcache/cert/find?certId=1 再次查询缓存

四、版本更新

更新时间 更新内容
20201024(程序员节快乐!) - 优化部分依赖版本
- 新增ehcache模块,强大的java缓存框架,提供方便快捷的缓存功能
20200105 - 新增SpringBoot2+WebSocket的简单IM优化版,优化连接技术相关内容,目前是单机版,集群版本近期发布。
20190810 - 新增SpringBoot2+Logback+Logstash+ElasticSearch+Kibana打造强大的日志收集分析系统。
20190802 - 新增Spring-Drools业务规则引擎模块。
- 由于子项目太多,暂时移除所有模块的引用,有需要请再父项目的module中启用
- empty为空白项目,可以直接copy出来改一下当新模块使用
新增Travis CI
20190722 - 新增Spring-Data-ElasticSearch授权验证模块。
20190720 - 新增SpringSecurity-JWT授权验证模块。
20190716 - 新增SpringSecurity自定义登录模块。
20190612 - 新增基于Netty的WebSocket模块。
20190122 - 新增基于Netty的UDP模块。
20190105 - 新增AOP模块,可以练习AOP功能。
- 更新SpringBoot到2.0.5版本。
- 更新lombok,修复某些JDK不兼容问题
20181112 - 优化mybatis-plus模块的导入,使用mybatis-plus stater简化操作
20180815 - 新增POI-TL模块,POI根据Word模板输出文件
20180711 - 新增MybatisPlus3.0模块,比Mybatis更简单爆炸
20180627 - 新增JMS模块,ActiveMQ实现,订阅/消费
20180624 - 新增Redis模块,完美集成SpringCache
20180609 - 新增Feign模块,MicroService之间相互调用
- 优化说明
20180603 - 新增JPA模块,Hibernate实现,基于实体,简单CRUD
- 优化调整
20180602 - 优化调整
- 新增configcenter模块,集中式配置管理
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].