SpringBoot企业级框架

Zebra 微服务框架 springBoot前端

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

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

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

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.微服务的好处

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

  • 应用太大,咱们上线一个小功能,并不想再全部程序都打包上线,这很烦,咱们须要拆开,拆成单个的服务出来。每一个服务都有一个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
相关文章
相关标签/搜索