国内首款 | Go语言微服务框架发布!(国内首款基于云架构)

网友投稿 272 2022-06-17


华为云CSE微服务引擎是业界首个商用的企业级微服务应用管理平台,包含微服务Java SDK、Go SDK、Mesher,为用户提供统一的服务注册、配置和治理控制台,可轻松实现微服务应用的快速开发和高效运维。

日前,华为云CSE(Cloud Service Engine)正式推出的产品级Go语言微服务框架Go Chassis。借助CSE Go Chassis进行微服务开发可最大化地降低开发门槛,提升产品上线速度,同时可以获得微服务运行时高可靠性保证、运行时动态治理等一系列开箱即用的能力。

在不久前CSE刚刚发布了基于Service mesh技术的CSE Mesher,支持Net、Node.js等语言应用能够以零侵入模式接入CSE微服务治理,本次Go语言微服务框架的发布,不仅意味着CSE正式拥抱Go生态系统,同样意味着CSE已提供Java、Go、NET、Node.js、PHP等多语言微服务解决方案,这给了企业及开发者提供了更大的选型空间,使企业可以高效复用现有的语言能力和软件资产。

Go语言:云计算新一代开发语言

最近,Go语言之父,Google大神Rob Pike在博客里谈到了Go语言十年的成长,其中尤其是在云计算领域的发展速度让他感到震惊。Docker使用Go语言催化出云计算领域的容器行业。并且从Google趋势图中可以发现,Go在中国的使用非常火爆,并且截止目前Go社区在全球已有50万gopher。

Go语言语法特性简单、更加人性化的并行和异步编程;用更少的代码做更多的事、关注程序执行效率和性能。同时Go语言有Google这样的一流技术公司在后面,Go语言杀手级的应用docker,其生态圈在近年已经爆棚,已经获得了实践的广泛认可。

CSE Go Chassis 简化开发灵活可靠

作为业界首款商用级别的Go语言微服务框架,Go Chassis已具备支持企业级应用的核心特性:

▷ 可定制的通信协议:除了现有支持的HTTP/ Highway RPC协议外,用户可自行扩展协议。支持Go Chassis开发的应用与使用Java Chassis开发的应用互相通信,企业在进行微服务架构选择有更大的自由。

▷ 使微服务更加健壮:完善的服务治理(负载均衡、限流、熔断、降级等等),保障Go微服务应用可靠运行。

▷ 运维:metrics可对接prometheus,让Go微服务应用运维无忧;并且log可下沉到不同系统,用户可按需配置log。

▷ 安全:插件化的Cipher支持企业在证书、aksk等敏感数据加载时使用自己的加解密算法。

▷ 灵活的处理链:支持用户自定义框架处理逻辑。

使用CSE Go Chassis开发微服务,可以最大化地简化开发门槛,提升产品上线速度。同时可以获得微服务运行时高可靠性保证、运行时动态治理等一系列开箱即用的能力。

多语言微服务解决方案

CSE目前已全面支持企业应用基于Chassis和Sidecar模式进行微服务开发,无论是Java语言、Go语言或者其它语言的企业应用,均可基于CSE提供的全方位微服务解决方案使用统一标准进行微服务开发、通信、监控、治理。

Chassis模式

用户可使用Go、Java语言微服务框架来作为微服务开发的底座,框架为其封装掉复杂性,让用户基于框架聚焦在上层业务逻辑进行二次开发。CSE Chassis提供了开箱即用的微服务治理之外,也赋予企业应用丰富的扩展能力。针对新开发的Go应用我们推荐使用此次发布的Go Chassis进行开发,通过使用Go Chassis快速开发易运维的微服务应用。

Sidecar模式

其它语言应用可使用CSE Mesher(Service mesh)以零侵入的方式CSE微服务治理中心。Mesher以Agent方式部署在应用节点上,对于不适合快速改造的老旧单体应用,Mesher提供了一种接入分布式环境的方式。

Chassis与Sidecar模式都不是银弹,它们各有优点和缺点,但Chassis与Sidecar可无缝结合,企业开发者可以因地制宜进行混编,选择真正适合企业的微服务化方案。例如很多传统企业应用是无法做到一蹴而就的架构微服务化,而在演进的过程当中,就可以考虑将单体应用一部分一部分地进行拆分。在这个过程中,已经拆分出来的基于Java/Go Chassis开发的微服务与未拆分并使用Mesher的应用之间就可实现互通和统一治理。

对于企业应用开发来说,没有最好的只有最适合的,华为云CSE微服务引擎为企业提供SpringCloud、ServiceComb和ServiceMesh商业版多个开发框架的支持,支持Java/Go/.NET/Node.js/PHP/Python等多语言微服务开发和治理,致力于为企业应用微服务化提供一站式解决方案。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:go语言中的new与make(go语言 new)
下一篇:Go语言中如何开启 TCP keepalive?(go语言教程)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~