SpringBoot企业级框架

Zebra 微服务框架 springBoot

img_a252060d88c151370693dc95d41636e2.jpg

GitHub地址:https://github.com/ae6623/Zebra

OSCGit地址:http://git.oschina.net/ae6623/Zebra

Zebra4J是一款使用Sping Boot特性全新开发的微服务WEB框架,尝试封装一些常用框架比如dubbo等作为spring-boot组件,结合微服务的框架思想,利用NodeJsZebra4Js作为应用网关,使得各个功能分层服务,持续迭代,解放团队生产力,快速构建企业级Web 应用。

Frameworks and Tools 构建

  • Java&IDE: JDK8 Lamda/Intellij Idea 16
  • Backend: SpringBoot Docker Zookeeper (Configured by annotation/app)
  • Database: Mysql/MongoDB/Redis
  • Cache:Memcached/Redis
  • Web Server: Nginx/Tomcat 7
  • Build Tool: Maven
  • Other: Commons-Dbcp2(database connection pool) JUnit sl4j Jackson FastJson
  • Zebra4J Port:http://localhost:8888
  • Zebra4Js Port:http://localhost:8360

About 关于落雨

License 许可协议

1.什么是微服务

微服务是一种分布式的架构,它所有的组件(也就是服务)会被部署为单独的应用程序,并通过某种远程访问协议(Rpc/Restful)进行通讯。分布式应用的挑战之一就是如何管理远程服务的可用性和它们的响应。服务可用性是服务消费者连接服务并能够发送请求的能力,服务响应则关注服务的响应时间。

2.微服务的局限

并不是所有的业务系统都适用于微服务,不能说现在流行这个,我就把公司上上下下几千个系统全部放入Docker,全部都架上微服务的袈裟,你应该静下心来,仔细分析你的商业需求、商业驱动、组织架构和团队技术环境,因为微服务并不适应所有的场景。而且基于RESTful的协议请求,很容易被多次重复调用,此时应考虑加入消息机制,利用消息进行事务的处理以及异步服务的调用,在此需要提醒各位在数据一致性高可用方面做好取舍,准备好一致性的补偿机制。

3.微服务的好处

打了这么多预防针,你还是跟到了这里,那么我们来谈谈微服务的好处,

  • 应用太大,我们上线一个小功能,并不想再所有程序都打包上线,这很烦,我们需要拆开,拆成单个的服务出来。每个服务都有一个Rpc或者RESTful的Api进行业务驱动,由类似于Spring cloud或者Zookeeper的服务管理者去发现和监听各个服务节点的状态。
  • 拆出来的微服务,就可以交给不同的团队进行开发,维护更加简单,不会因为一个模块上线失败,而整体回滚。
  • 部署方便,Jekens + Docker直接部署,对于前端而言,根本不知道后台什么时候突然部署了1w台服务,用户几乎0察觉,轻松应对秒杀等业务,流量下来之后,随时Stop服务。

4.微服务的实现

  • 1.网关
    • 采用API的方式,制造一个所有的端都支持的网关,作为唯一的入口,可以提供授权、监控、负载、缓存、静态、返回相应等入口,建议使用RESTfulhttp接口。
    • 网关的作用
      • 提供统一服务入口,让微服务对前台透明
      • 聚合后台的服务,节省流量,提升性能
      • 提供安全,过滤,流控等API管理功能
    • 网关要考虑交互的方式
      • 客户端 1:1 服务端
      • 客户端 1:N 服务端
  • 2.服务发现
  • 3.服务调用
    • 同步调用
      • Rpc
      • Rest
    • 异步调用
      • MQ
  • 4.服务可用
    • 重试
    • 限流
    • 熔断
    • 负载
    • 降级
    • 缓存
  • 5.服务发布
    • Jekins Docker
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/255522

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。