SpringBoot企业级框架

Zebra 微服务框架 springBoot

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
时间: 2024-11-03 01:50:32

SpringBoot企业级框架的相关文章

Egg.js 1.2.1 发布,阿里开源的企业级 Node.js 框架

Egg.js 1.2.1 发布了,egg 是阿里开源的企业级 Node.js 框架,为企业级框架和应用而生.通过 egg,团队的架构师和技术负责人可以非常容易地基于自身的技术架构在 egg 基础上扩展出适合自身业务场景的框架. 更新内容: [13587667] - fix(loader): loadPlugin 可以被拓展 [1a027ad7] - test: 使用 assert 替换 should [89b4df9d] - docs: 修复中文 router 文档中的名称错误 下载地址: So

企业级 Node.js Web 应用解决方案设计的零零总总

年前一直在忙着做新版 Midway 升级的事情,不少同学都知道 Midway 是淘宝的 Node.js Web 应用解决方案,目的是为了更好的做前后端分离,让前端同学开发更简单,生活更幸福(笑). 如今 Midway 5 正式发布了,横跨了几个月的开发个工作,期间带来的感慨,也算是史上最多. Midway 的诞生也有 2 年多的时间,我个人参与维护也有 1 年多,经历了从 v3 到 v5 的变化,最大的感慨莫过于,分分合合,以前总想着灵活性,要做分离,后来就想着统一升级,又合并回去, 折腾的是自

14个优秀 JS 前端框架、库、工具及其使用时机

这篇文章主要描述现今流行的一些 Javascript web 前端框架,库以及它们的适用场景. 新的 Javascript 库层出不穷,从而Web 社区愈发活跃.多样.在多方面快速发展.详细去描述每一种主流的 Javascript 框架和库近乎不可能,所以在这篇文章中主要介绍一些对前端发展最具影响力的前端框架.接下来让我们来共同研究一些主流前端框架.库和工具,并讨论它们的适 用场景. 同时: 如果该篇文章没有包含你喜欢的 Javascript 框架,勿喷 在使用前端框架进行开发时,建议保持版本更

《SpringBoot揭秘:快速构建微服务体系》—第3章3.3节SpringApplication:SpringBoot程序启动的一站式解决方案

3.3 SpringApplication:SpringBoot程序启动的一站式解决方案 如果非说SpringBoot微框架提供了点儿自己特有的东西,在核心类层面(各种场景下的自动配置一站式插拔模块,我们下一章再重点介绍),也就是SpringApplication了. SpringApplication将一个典型的Spring应用启动的流程"模板化"(这里是动词),在没有特殊需求的情况下,默认模板化后的执行流程就可以满足需求了:但有特殊需求也没关系,SpringApplication在

《SpringBoot揭秘:快速构建微服务体系》—第1章1.5节本章小结

1.5 本章小结在带领大家探索本书的主角SpringBoot微框架之前,本章首先为大家介绍了SpringBoot微框架服务的核心场景,即微服务.然后一起探索了微服务的概念以及由来,并探讨了微服务可以为我们带来哪些好处,以及同时又为我们带来哪些挑战.总的来说,微服务化虽然是当下流行的趋势,但并非任何场景都合适,我们还是要审慎地在"大一统"(Monolith)服务架构和微服务架构之间做出选择, 而一旦确定选择了微服务化之路,那么,就应该围绕团队和组织的主要语言生态以及微服务方向积极探索高效

《SpringBoot揭秘:快速构建微服务体系》目录—导读

前 言为什么写这本书忘了是2015年的哪一天,只记得几个朋友跟友商的其他几个做技术的朋友吃饭,并简单做下技术交流.席间,友商的几位朋友对SpringBoot框架实施微服务很感兴趣,交谈甚欢之际,我无意间开玩笑说:"是不是该考虑写一本SpringBoot的书?"钟伦甫(原淘宝聚石)同学随口一句,"你倒是写啊!",得,以行践言吧,谁让你把话说出去了呢?当然,朋友的"热切期盼"只是其一,微服务盛行也是本书写作的一个契机, 希望本书成为国内第一本微服务相

Visual Studio.NET版本比较(中文版)

visual|比较|中文 Visual Studio .NET 有三个可用的版本:Visual Studio 专业版.Visual Studio 企业级开发人员版和 Visual Studio 企业级结构设计人员版.另外,Visual Studio 附带的核心语言--Visual Basic .NET.Visual C++ .NET 和 Visual C# .NET 每个都以单独的版本提供.下表列出了随各 Visual Studio .NET 版本提供的不同功能.功能专业版企业级开发人员版企业级

单元测试技术栈梳理

keep the bar green to keep the code clean. 前言 单元测试是一个老生常谈的事情,可是能够深入开发人心,又能够喜欢写单元测试的同学少之又少.单元测试似乎功不在当下的事情,业务代码快速完成需求,才是王道,在工作量评估的时候,如果开发同学说要花上若干天时间来写单测,需要延后几天发布,那么PD可能就会:!#@%5*))-@#,单元测试是一件有情怀,有技术素养,有远期收益的工作,<集团开发规约>中新增了单元测试规约,也直接说明了单元测试的重要性,推荐大家看看:h

近几年前端技术盘点以及 2016 年技术发展方向

我从 12 年底开始接触前端,12 年之前的前端发展情况只能从上一辈的笔触中领会.本文会盘点从 09 年开始到 15 年间前端技术的革新,同时也会从多个角度,解读近几年前端技术发展的潜在因素,其中穿插了若干对前端演进的拙见,难免会有错误和疏漏,望读者可以补充和斧正. 那些年,一度追捧,一度放弃 下面,花一些篇幅简单回顾下 09 年到 15 年前端的发展历程. 09 年,基础类库完善,寻求突破 09 年之前,JavaScript 还处于对自身语言的完善过程中,而到了 09 年,JavaScript