UBSICE

项目简介:

UBSICE(Unified Basic Service Infrastruct Community Edition)是一款自主研发基于Java编程语言的轻量化‘面向领域’的微服务架构。具备超高性能以及简单、灵活的特性,功能及性能覆盖并超越当前流行的微服务架构。实现Java技术栈微服务的全生命周期管理及运维治理,支持其他技术栈应用的互联互通。有效降低基础设施的资源开销。符合等保二级规范,支持国密算法。

项目特点:

技术价值:

更高性能、更低延迟:微服务之间的RPC通讯采用基于socket长连接的多路复用机制,并使用与语言无关的二进制数据编码,显著提升了通讯效率;在同样系统环境下的测试结果表明UBSI接口的响应效率在SpringBoot的5倍以上。

更少的资源开销:UBSI架构的核心是提供了微服务的运行容器,与Docker容器不同,Docker是系统运行环境容器,可以运行任何应用。UBSI Container更类似于可以部署多个web应用的web容器(如Tomcat),多个不同微服务的运行实例可以部署在同一个UBSI Container中运行,这些实例可以共享容器提供的I/O连接池、工作线程池、过滤器(比如加密认证)等,这种机制可以极大降低微服务的运行资源开销。

更简单的系统构成:除了采用Redis作为注册中心,以及Admin治理工具需要的Nginx/MongoDB之外,UBSI的运行环境不再需要其他的独立组件;在UBSI体系中,"一切都是微服务":除了核心的Container/Consumer组件之外,几乎所有的治理能力都是通过UBSI的微服务来实现。

一体化的集成治理工具,不依赖Docker/K8S的微服务自动部署及生命周期管理能力:UBSI的微服务容器并不仅仅是一个微服务的运行容器,还通过"容器控制器"(这也是一个特殊的微服务,伴随容器运行)提供了对其他微服务的实例部署、测量监控、启/停/卸载等生命周期管理功能,同时容器还统一管理所有服务实例的注册、流量控制、访问控制及跟踪、请求统计及事务协调等,所以说UBSI不仅仅是一个微服务的开发框架,还是一个运行平台,是微服务应用的基础设施和技术底座。核心框架的升级只需要替换"容器"的运行包,不影响任何已部署的微服务运行实例。

业务价值:

对于开发人员来说,只需要掌握基础的Java开发技能,并了解几个UBSI的服务注解,就能马上开始微服务的开发。UBSI通过集成开发环境的Maven仓库,可以帮助搭建 "开发" -> "构建" -> "发布" -> "部署" 的流水线,能够有效提高微服务的开发迭代效率。

UBSI的服务仓库可以集中收录开发组织的工作成果,形成统一的服务目录和接口文档。UBSI还为开发人员提供了一体化的测试及日志工具

生态价值:

UBSI没有采用拼装或集成大量第三方组件的方式,而是从根本上就对微服务架构进行了一体化的设计,从而形成了一整套高度集成的架构方案。

项目架构:

image.png