Roses 基于 Spring Boot 的分布式和服务化解决方案

开源网站开源项目 24-03-29 17:10:30

Roses基于Spring Boot, 是开源项目Guns的升级版本,致力做更简洁的分布式服务化解决方案,Roses提供基于Spring Cloud的分布式框架,整合了springmvc + mybatis-plus + eureka + zuul + feign + ribbon + hystrix等等,提供Roses独有的高效率的开发体验,提供可靠消息最终一致性分布式事务解决方案,提供基于调用链的服务治理,提供可靠的服务异常定位方案(Log + Trace),一个分布式框架不仅需要构建高效稳定的底层开发框架,更需要解决分布式带来的种种挑战。

在几年前,刚工作的时候就开始接触分布式,并且使用分布式编写业务,那时候还很菜(现在也菜),只觉得微服务很牛逼,殊不知其中的艰难险阻,踩过很多坑,也走过弯路,Roses是根据自己积攒的经验编写出来的,完全开源,目的就是想让新接触微服务,搞分布式开发的同学能够快速上手。Roses在编写的时候有两个核心思想,第一个是注重解决分布式带来的种种挑战第二个是注重提高开发人员的效率

Roses的一些特点:

1. 网关实现统一鉴权,资源权限过滤(鉴权机制)

2. 网关生成唯一请求号(RequestNoGenerateFilter)(主要为了定位问题)

3. 分布式事务解决方案(可靠消息最终一致性)

4. 分布式配置中心roses-config(统一管理项目配置,好维护)

5. 一切请求基于RequestData和ResponseData(简化开发)

6. 独创基于BeanPostProcessor的资源扫描器(多服务之间的资源搜集,集中管理)

7. 独特的Feign错误解码器(继承Guns的开发思想,极大提高了开发效率)

8. Log + Trace日志记录(定位问题更便捷)

9. 统一的文件日志记录格式(日志记录的规范)

快速开发微服务的秘籍 roses-core

在roses-core模块的com.stylefeng.roses.core.config包下整合了大量开发常用到的配置,其中包含默认异常拦截,登陆用户的上下文获取,默认缓存配置,默认fastjson的配置,默认mybatis-plus的配置,默认的swagger的配置,默认的web配置等等等等,使得在新业务开发中,只要pom引入roses-core这个模块,即可很方便的注入这些特性,直接上手开编写业务,大大减少了新业务,新模块的配置,调试,各种框架集成拼接的时间,因为这些在Roses中已经为您提供好了,利用Spring Boot的自动配置机制,同样的,这些配置在项目启动的时候会默认加载,因为在roses-core模块下的META-INF/spring.factories中配有这些类,当然,如果您不需要某些特性(自动配置类)您可以在@SpringBootApplication注解上增加exclude参数来排除这些自动配置。

更多详情,请点击:https://gitee.com/naan1993/roses

[Roses 基于 Spring Boot 的分布式和服务化解决方案]相关推荐

Arrow Python 时间日期库

Arrow是一个专门处理时间和日期的轻量级Python库,它提供了一种合理、智能的方式来创建、操作、格式化、……...

Jetty Servlet 容器

Jetty是一个轻量级的高度可扩展的基于java的web服务器和servlet引擎。其目标是以大批量低延迟的方式支持H……...

Classy 清理工具

Classy 是为 AngularJS 基于类控制器的清理工具。示例代码: app.classy.controller({name:'MyCtrl',inje……...

Wonderful 一个关于色彩的库

一个关于色彩的库一、UIColor+Wonderful 1.这个分类里扩充了更多的颜色扩展,以后随手写个小Demo再也不需……...

Revel Go 的 全堆栈 Web 框架

Revel 是 Go 语言的框架,其思路完全来自 Java 的 Play Framework。 控制器示例: //app/controllers/app……...

Sia 去中心化云存储平台

Sia 是领先的去中心化云存储平台,从根本上改变了云存储的格局。没有注册,没有服务器,没有受信任的第三……...

今日开源
  1. Zimbra 协同办公套件

    Zimbra 协同办公套件

    强大的开源协同办公套件,包括 WebMail、日历、通信录、Web 文档管理和创作。它最大的特色在于其采用 Ajax 技术模仿 CS 桌面应用软件的风格开发的客户,端兼容 Firefox、Safari 和 IE 浏览器。 Zimbra 使用 ZPL (……

    开源软件 2024-05-04

  2. Pouch 阿里巴巴容器技术

    Pouch 阿里巴巴容器技术

    2017年杭州云栖大会中,阿里巴巴正式宣布,自主研发的容器技术 Pouch 将以开源的形式回馈社区,希望与开发者共同推动中国容器技术发展,共建容器生态。 阿里Pouch并不是一个完全创新的技术。最早,阿里基于LXC技……

    开源软件 2024-05-04

  3. ncnn 高性能神经网络前向计算框架

    ncnn 是腾讯优图实验室首个开源项目,是一个为手机端极致优化的高性能神经网络前向计算框架。 ncnn 从设计之初深刻考虑手机端的部属和使用。无第三方依赖,跨平台,手机端 cpu 的速度快于目前所有已知的开源框架。……

    开源软件 2024-05-04

返回顶部小火箭