开源软件名称:calligraphy
开源软件地址:https://gitee.com/hystyle/calligraphy
开源软件介绍:
小篆介绍Calligraphy是基于Spring Cloud 微服务化的基础功能项目。核心技术采用Spring Boot2.0 以及Zuul 相关核心组件,其中包含具备用户模块、商品模块、订单模块,基础工具等多个模块。代码简洁规范,架构清晰,适合初学者学习使用。 核心技术Spring Boot 2.0.8 以及Spring Cloud Finchley.SR2 相关核心组件
csdn 技术涉及Spring Cloud 、JPA 、Lombok 、JWT 、RabbitMq 、Swagger 、Eureka 、config 、Zuul 、Hystrix 、Feign 、Ribbon 、Redis 、Mybatis 、Mysql
注:由于没有前端代码,本人测试都是通过 Apizza 接口测试工具,所以存在一定量的bug,项目也不是完整的,主旨是学习spring cloud以及技术中的查缺补漏,日后完善... 架构设计(图未做...)- 注册 邮箱注册
- 登录 5次错误机会,否则封锁5分钟
- 秒杀 简单操作:采用redis分布式锁
- 购物车 利用redis存储
端口设置建议- eureka: 8761
- config: 8090
- user: 8080
- order: 8081
- product: 8082
- gateway: 9000
(见附件) 安全方面利用config将配置文件都放在了码云上统一管理,利用Zuul实现动态路由,仅对外暴露统一路径 模块化- demo-server:所有业务逻辑
- demo-client:对外暴露的接口
- demo-common:公用的对象
安装教程- 由于是分布式项目,所以需要将对外暴露的demo-server、demo-client、bases等模块进行打包,放入本地maven仓库
- 本地安装redis、RabbitMq、mysql等相关软件
- 增加远程git仓库,自行创建文件,配置文件(见附件)
后端技术:- Eureka服务器用作服务注册服务器。 一个java客户端,用来简化与服务器的交互、作为轮询负载均衡器,并提供服务的故障切换支持。
- Zuul基于JVM路由和服务端的负载均衡器 类似nginx,反向代理的功能
- Hystrix提供了熔断、隔离、Fallback、cache、监控等功能,能够在一个、或多个依赖同时出现问题时保证系统依然可用。
- Feign是声明式、模板化的http客户端。旨在用最少的开销和代码将您的代码连接到http apis。
- Ribbon提供客户端的软件负载均衡算法
- Redis存储热点数据
- JWT提供了一种用于发布接入令牌(Access Token),并对发布的签名接入令牌进行验证的方法。 令牌(Token)本身包含了一系列声明,应用程序可以根据这些声明限制用户对资源的访问。
- Config配置文件统一管理
- RabbitMq一种应用程序对应用程序的通信方法
开发环境- redis3.X
- jdk1.8
- MySQL Server 5.6
- lombok
- maven3.X
- IntelliJ IDEA
未完待续... |
请发表评论