SpringBoot企业级框架

简介: Zebra 微服务框架 springBootGitHub地址:https://github.com/ae6623/ZebraOSCGit地址:http://git.oschina.net/ae6623/ZebraZebra4J是一款使用Sping Boot特性全新开发的微服务WEB框架,尝试封装一些常用框架比如dubbo等作为spring-boot组件,结合微服务的框架思想,利用NodeJs、Zebra4Js作为应用网关,使得各个功能分层服务,持续迭代,解放团队生产力,快速构建企业级Web 应用。

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
目录
相关文章
|
20天前
|
XML 安全 Java
|
23天前
|
缓存 NoSQL Java
什么是缓存?如何在 Spring Boot 中使用缓存框架
什么是缓存?如何在 Spring Boot 中使用缓存框架
31 0
|
1月前
|
数据采集 监控 前端开发
二级公立医院绩效考核系统源码,B/S架构,前后端分别基于Spring Boot和Avue框架
医院绩效管理系统通过与HIS系统的无缝对接,实现数据网络化采集、评价结果透明化管理及奖金分配自动化生成。系统涵盖科室和个人绩效考核、医疗质量考核、数据采集、绩效工资核算、收支核算、工作量统计、单项奖惩等功能,提升绩效评估的全面性、准确性和公正性。技术栈采用B/S架构,前后端分别基于Spring Boot和Avue框架。
|
2月前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
58 4
|
2月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,包括版本兼容性、安全性、性能调优等方面。
178 1
|
2月前
|
Java API 数据库
Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐
本文通过在线图书管理系统案例,详细介绍如何使用Spring Boot构建RESTful API。从项目基础环境搭建、实体类与数据访问层定义,到业务逻辑实现和控制器编写,逐步展示了Spring Boot的简洁配置和强大功能。最后,通过Postman测试API,并介绍了如何添加安全性和异常处理,确保API的稳定性和安全性。
45 0
|
6天前
|
IDE Java 测试技术
互联网应用主流框架整合之Spring Boot开发
通过本文的介绍,我们详细探讨了Spring Boot开发的核心概念和实践方法,包括项目结构、数据访问层、服务层、控制层、配置管理、单元测试以及部署与运行。Spring Boot通过简化配置和强大的生态系统,使得互联网应用的开发更加高效和可靠。希望本文能够帮助开发者快速掌握Spring Boot,并在实际项目中灵活应用。
24 5
|
16天前
|
缓存 Java 数据库连接
Spring框架中的事件机制:深入理解与实践
Spring框架是一个广泛使用的Java企业级应用框架,提供了依赖注入、面向切面编程(AOP)、事务管理、Web应用程序开发等一系列功能。在Spring框架中,事件机制是一种重要的通信方式,它允许不同组件之间进行松耦合的通信,提高了应用程序的可维护性和可扩展性。本文将深入探讨Spring框架中的事件机制,包括不同类型的事件、底层原理、应用实践以及优缺点。
47 8
|
26天前
|
存储 Java 关系型数据库
在Spring Boot中整合Seata框架实现分布式事务
可以在 Spring Boot 中成功整合 Seata 框架,实现分布式事务的管理和处理。在实际应用中,还需要根据具体的业务需求和技术架构进行进一步的优化和调整。同时,要注意处理各种可能出现的问题,以保障分布式事务的顺利执行。
46 6
|
1月前
|
Java 数据库连接 数据库
不可不知道的Spring 框架七大模块
Spring框架是一个全面的Java企业级应用开发框架,其核心容器模块为其他模块提供基础支持,包括Beans、Core、Context和SpEL四大子模块;数据访问及集成模块支持数据库操作,涵盖JDBC、ORM、OXM、JMS和Transactions;Web模块则专注于Web应用,提供Servlet、WebSocket等功能;此外,还包括AOP、Aspects、Instrumentation、Messaging和Test等辅助模块,共同构建强大的企业级应用解决方案。
59 2