微服务解决方案 Apache ServiceComb(incubating) 发布新版本
近期,微服务解决方案Apache ServiceComb(incubating) 捷报频传,除了LC3大会ServiceComb Workshop成功举办之外,Java-Chassis 1.0.0-m2、Service-Center 1.0.0-m2和Saga 0.2.0版本顺利通过投票,完成发版。
版本变更概览
Java-Chassis
服务间通讯提供文件流传输能力,支持音乐、图片等多媒体场景。
在服务级别QPS控制基础上,新增支持API级别QPS控制
增加脚手架和start.servicecomb.io,支持用户快速构建工程,提供完整的开箱即用能力
新增支持使用Gradle构建
异步编程模型支持CompletableFuture和AsycRestTemplate
扩展Swagger支持类循环依赖,允许服务调用时的出入参数中存在类循环依赖场景
支持使用hibernate注解进行参数校验
新增支持Http2协议
实现错误注入接口,允许通过拦截服务请求构造异常场景
新增服务Dev运行模式,开启Dev模式时,支持契约动态修改
实现优雅停机,关闭服务时进行反注册,确保完成已接受请求并完整释放资源
Service-Center
支持获取Service-Center的服务和实例信息,在集群部署场景下,可动态发现Service Center实例
在增删改查单服务和实例的基础上,新增支持批量删除服务和实例接口
支持使用前端对SwaggerAPI进行测试
新增支持IPv6
支持页面通过前端代理访问Service-Center,允许前端和后端监听在不同的网络平面
前端使用的JS依赖全部本地化,允许在无外网环境下使用Service Center前端
Saga
支持子事务失败重试
支持gRPC SSL通信
支持使用SpringBoot 2.0
部分颗粒度特性
脚手架功能
在微服务的开发过程中,由于涉及到众多的微服务治理、分布式追踪等功能的配置,开发人员需要耗费较多的时间来进行工程配置,为了提高业务侧的开发效率,ServiceComb提供了两种快速构建工程的方法:
1.使用maven archetype的方式,快速构建预置的微服务工程,具体请参考:https://github.com/apache/incubator-servicecomb-java-chassis/blob/master/archetypes/README.md。
该方式目前提供business-service-jaxrs, business-service-springmvc,business-service-pojo,business-service-spring-boot-starter四种模板。
2.通过http://start.servicecomb.io/,在该网页上配置需要的组件和功能并生成工程模板。
ServiceComb java-chassis-dependencies集中管理了所有必须的依赖,start.servicecomb.io生成出来的项目既包含示例代码,也包含必要配置的以及微服务治理所需的配置,批量生成所有的微服务后,用户只需要专注于填充业务代码。完成开发后,部署ServiceCenter,启动微服务,一个微服务应用就运行起来了,之后只需要专注于运维,后期也可通过动态配置,随时修改配置值调整治理能力。脚手架特性和集中依赖管理一起提供了ServiceComb的开箱即用能力。
支持文件与流传输
现在Java-Chassis可以支持VertxREST通道中传输文件和流,以此支持音乐、图片等多媒体内容。后期会增加其它传输模式的文件传输支持。具体参考:
https://huaweicse.github.io/servicecomb-java-chassis-doc/zh_CN/general-development/file-upload.html
在Service-Center前端进行API测试
Service-Center 现在支持在页面上对服务的API进行测试。具体请参考:
http://servicecomb.incubator.apache.org/docs/service-center-ui/
下载地址:
Service-Center: http://servicecomb.incubator.apache.org/release/service-center-downloads/
Java-chassis: http://servicecomb.incubator.apache.org/release/java-chassis-downloads/
Saga: http://servicecomb.incubator.apache.org/release/saga-downloads/
版本说明:
Service-Center: http://servicecomb.incubator.apache.org/release/service-center-release-notes/
Java-chassis: http://servicecomb.incubator.apache.org/release/java-chassis-release-notes/
Saga: http://servicecomb.incubator.apache.org/release/saga-release-notes/
ServiceComb相关资料
官方网站 : http://servicecomb.incubator.apache.org/
加入社区: https://servicecomb.incubator.apache.org/cn/docs/join_the_community
JIRA: https://issues.apache.org/jira/browse/SCB
邮件列表 : dev@servicecomb.apache.org
附:ServiceComb 内部架构全景图
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
异步化,高并发大杀器
今天来聊聊如何让项目异步化的一些事。 1.同步和异步,阻塞和非阻塞 同步和异步,阻塞和非阻塞, 这个几个词已经是老生常谈,当时常常还是有很多同学分不清楚,以为同步肯定就是阻塞,异步肯定就是非阻塞,其他他们不是一回事。 同步和异步关注的是结果消息的通信机制 同步:同步的意思就是调用方需要主动等待结果的返回 异步:异步的意思就是不需要主动等待结果的返回,而是通过其他手段比如,状态通知,回调函数等。 阻塞和非阻塞主要关注的是等待结果返回调用方的状态 阻塞:是指结果返回之前,当前线程被挂起,不做任何事 非阻塞:是指结果在返回之前,线程可以做一些其他事,不会被挂起。 可以看见同步和异步,阻塞和非阻塞主要关注的点不同,有人会问同步还能非阻塞,异步还能阻塞?当然是可以的,下面为了更好的说明他们的组合之间的意思,用几个简单的例子说明: 1.同步阻塞:同步阻塞基本也是编程中最常见的模型,打个比方你去商店买衣服,你去了之后发现衣服卖完了,那你就在店里面一直等,期间不做任何事(包括看手机),等着商家进货,直到有货为止,这个效率很低。 2.同步非阻塞:同步非阻塞在编程中可以抽象为一个轮询模式,你去了商店之后,...
- 下一篇
Spring Boot快速入门
简介 在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复黏贴的配置有一些厌烦?那么您就不妨来试试使用Spring Boot来让你更易上手,更简单快捷地构建Spring应用! Spring Boot让我们的Spring应用变的更轻量化。比如:你可以仅仅依靠一个Java类来运行一个Spring引用。你也可以打包你的应用为jar并通过使用java -jar来运行你的Spring Web应用。 Spring Boot的主要优点: 为所有Spring开发者更快的入门 开箱即用,提供各种默认配置来简化项目配置 内嵌式容器简化Web项目 没有冗余代码生成和XML配置的要求 快速入门 本章主要目标完成Spring Boot基础项目的构建,并且实现一个简单的Http请求处理,通过这个例子对Spring Boot有一个初步的了解,并体验其结构简单、开发快速的特性。 系统要求: Java 7及以上 Spring Framework 4.1.5及以上 本文采用Java 1.8.0_73、Spring Boot 1.3.2调试通过。 ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果