项目地址

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

双剑合璧的开源项目Kitty-Cloud的更多相关文章

  1. Spring 社区的唯一一个国产开源项目 - Spring Cloud Alibaba 毕业了

    阿里妹导读:一年多前,Java 界最近发生了一件大事,阿里开源 Spring Cloud Alibaba,并推出首个预览版.Spring Cloud 本身是一套微服务规范,并不是一个拿来即可用的框架, ...

  2. Spring Cloud & Alibaba 实战 | 第十二篇: 微服务整合Sentinel的流控、熔断降级,赋能拥有降级功能的Feign新技能熔断,实现熔断降级双剑合璧(JMeter模拟测试)

    目录 一. Sentinel概念 1. 什么是Sentinel? 2. Sentinel功能特性 3. Sentinel VS Hystrix 二. Docker部署Sentinel Dashboar ...

  3. 优秀的Spring Cloud开源项目整理推荐

    无论是对于初学者,还是有一定工作经验的程序员来讲,Spring Cloud开源项目都是一笔宝贵的财富.下面给大家整理了十个优秀的开源项目,分别是spring-cloud-examples.spaasc ...

  4. 【Spring Cloud & Alibaba全栈开源项目实战】:SpringBoot整合ELK实现分布式登录日志收集和统计

    一. 前言 其实早前就想计划出这篇文章,但是最近主要精力在完善微服务.系统权限设计.微信小程序和管理前端的功能,不过好在有群里小伙伴的一起帮忙反馈问题,基础版的功能已经差不多,也在此谢过,希望今后大家 ...

  5. swift开源项目精选

    Swift 开源项目精选-v1.0 2016-03-07 22:11 542人阅读 评论(0) 收藏 举报  分类: iOS(55)   Swift(4)    目录(?)[+]   转自 http: ...

  6. Android开源项目分类汇总

    目前包括: Android开源项目第一篇——个性化控件(View)篇   包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView. ...

  7. GitHub上史上最全的Android开源项目分类汇总 (转)

    GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:ht ...

  8. 【Android】Android开源项目分类汇总

    第一部分 个性化控件(View) 主要介绍那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.Pro ...

  9. Android开源项目汇总【转】

    主要介绍那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView ...

随机推荐

  1. 使用thymeleaf模板实现博客评论的异步刷新

    使用thymeleaf模板实现博客评论的异步刷新 最简单的一个要求:用户可以在博客下面进行评论,然后评论后点击提交后直接上传到数据库,并且局部刷新 这是前端页面的展示,使用的semanticUI进行构 ...

  2. linux 下修改最大文件数

    环境为centosV7系列 1.查看进程的打开最大文件数,默认为1024 [root@localhost ~]# ulimit -a core file size (blocks, -c) 0 dat ...

  3. 50-Python2和3字符编码的区别

    目录 Python2和3字符编码的区别 python2 python3 Python2和3字符编码的区别 区别点 python2 python3 print 是一个语法结构 是一个函数,print(' ...

  4. Mysql8以上需要指定时区serverTimezone

    JDBC连接Mysql8以下 com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/test?useUnicode=true&charac ...

  5. 把.net Core 项目迁移到VS2019 for MAC

    VS2019 for MAC已经发布很长时间了,本以为项目移过去很麻烦,一直没有动作,最近呆家里快发霉了,决定研究研究,没想到一句代码都不需要动,直接完功,这下可以生产了.同学们可以放心整了. 本次平 ...

  6. Vue项目一、node.js和npm的安装和环境搭建

    一.为什么安装node.js及npm npm npm是Node.js的包管理工具(package manager),是全球最大的生态系统,同过npm可以找到很多丰富的插件来满足项目的需求. a1.现在 ...

  7. nginx升级不改变配置文件

    查看当前版本是:1.10.3 [root@proxy nginx-1.10.3]# /usr/local/nginx/sbin/nginx -Vnginx version: nginx/1.10.3b ...

  8. js 拖拽实现面向对象

    1.js 支持面向对象编程,但只是基于面向对象,不使用类或者接口.2.演变 工厂模式------->构造函数模式---------->原型模式 工厂模式的缺点: ①函数内部new ,不太符 ...

  9. tomcat 对 vue的history默认支持 tomcat 开启步骤 1.build文件放入webapps目录 2.进入conf目录修改server.xml端口号改成8088 3.进入bin目录运行startup.bat 4.浏览器 localhost:8088/workName 访问即可

    tomcat 对 vue的history默认支持 tomcat 开启步骤 1.build文件放入webapps目录 2.进入conf目录修改server.xml端口号改成8088 3.进入bin目录运 ...

  10. IE8使用chrome内核渲染

    1  第一步  https://download.csdn.net/download/qq_34626479/11223448  下载chrome frame安装包; 2  第二步  网页头部添加一行 ...