项目地址
https://github.com/yinjihuan/kitty-cloud
背景
做这个项目主要是想将个人的一些经验通过开源的形式进行输出,不一定能帮到所有人,有感兴趣的朋友可以关注学习下。
项目主要分为三大块:
- Kitty 基础框架
基础框架基于Spring Cloud & Spring Cloud Alibaba 进行封装,内置了 Cat 监控等功能,将框架的操作进行统一封装和版本管理,方便快速构建微服务架构。让业务开发人员更关注于业务本身的开发工作。
- Kitty Cloud 后端
使用Kitty基础框架搭建的微服务架构,业务方向是做一个技术社区。比如发文章,评论,点赞等功能。
- Kitty Cloud 前端(待开发)
前端还没开始,等后端做完后会开始做前端,应该会采用Vue实现。
后端技术栈
Kitty:Spring Cloud & Spring Cloud Alibaba 基础框架,内置了 Cat 监控,互联网公司落地 Spring Cloud 架构必备。
Spring Cloud:Spring 微服务全家桶。
Spring Cloud Alibaba:致力于提供微服务开发的一站式解决方案。
Sentinel:把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
Nacos:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
Dubbo:Apache Dubbo™ 是一款高性能 Java RPC 框架。
Cat:基于 Java 开发的实时应用监控平台,为美团点评提供了全面的实时监控告警服务。
MyBatis-Plus:MyBatis的增强版。
Spring Data MongoDB:Spring 中对MongoDB操作的客户端框架。
JetCache:基于Java的缓存系统封装,提供统一的API和注解来简化缓存的使用。
ElasticSearch:ElasticSearch 是一个开源,分布式,RESTful搜索引擎。
项目模块
- kitty-cloud-common:公共模块,通用的工具类
- kitty-cloud-user:用户服务
- kitty-cloud-article:文章服务
- kitty-cloud-comment:评论服务
- kitty-cloud-gateway:Web网关
- kitty-cloud-search:搜索服务
- kitty-cloud-job:定时任务
- 开发中。。。。。。
项目子模块划分
- kitty-cloud-article
- kitty-cloud-article-api -- API接口定义,RPC/REST
- kitty-cloud-article-biz -- 业务逻辑
- kitty-cloud-article-provider -- API接口实现,RPC/REST暴露服务
依赖关系:
包划分
- kitty-cloud-article-api
- fallback -- Feign/Dubbo 熔断回退默认实现
- request -- 请求参数
- response -- 响应对象
- service -- Http/Rpc API接口定义
- kitty-cloud-article-biz
- bo -- 业务层响应对象
- convert -- 实体类转换
- dao -- 数据库操作
- dataobject -- 数据对象(MySql)
- document -- 文档对象(MongoDB,ElasticSearch)
- enums -- 枚举
- param -- 业务层接收上层的参数
- manager -- 三方操作管理(RPC/Http/缓存)
- fallback
- dubbo -- dubbo自定义回退逻辑(替换默认回退逻辑)
- feign -- feign自定义回退逻辑(替换默认回退逻辑)
- service -- 业务处理
- kitty-cloud-article-provider
- convert -- 实体类转换
- service -- Http/Rpc API接口实现,暴露服务
- KittyCloudArticleProviderApp.java -- Spring Boot 启动类
感兴趣的可以加个关注哦!https://github.com/yinjihuan/kitty-cloud
关于作者:尹吉欢,简单的技术爱好者,《Spring Cloud微服务-全栈技术与案例解析》, 《Spring Cloud微服务 入门 实战与进阶》作者, 公众号 猿天地 发起人。
网友评论