Dubbo-go目前已经达成了其初始使命“BridgingTheGapBetweenJavaAndGo”,具备了强大的互联互通能力,并在云原生方向取得了长足的进展。
Pixiu网关
samples仓库在迭代过程中也被赋予了更多的功能,社区开发同学都会熟悉,我们将框架仓库、samples仓库通过ci集成测试的方式结合起来,保证框架开发者每次提交的代码都能通过所有用例的e2e测试,从而保障开发质量,提高迭代的效率。
运维能力与工具
将旧版本基于net/http2的实现切换为基于grpc的http2层实现方案。增强了底层传输的稳定性和性能。经过压测,4c8g单机Provider可以处理7万tps的简单请求。
Triple+PB协议
在服务注册发现方面,支持Nacos、Zookeeper、ETCD、Consul、Polaris-mesh等服务注册中间件,并拥有可扩展能力。我们也会根据用户使用情况,进一步扩展出用户需要的实现。
其中Triple协议是Dubbo3生态主推的协议,是基于gRPC的扩展协议,底层为HTTP可与gRPC服务互通。相当于在gRPC可靠的传输基础上,增加了Dubbo的服务治理能力。
我们将推出兼容Dubbo-admin的统一控制面,可在控制面中通过路由配置动态调度集群内流量,将新路由规则以更灵活、更易用的方式落地在生产场景下,运维人员也可以在控制面上一目了然地了解到集群内通达信二次开发接口,dubbo-go应用的实时情况,进一步来讲,控制面将会拥有服务测试、灰度发布、监控、流量调度等一系列运维能力。
一Dubbo-go简介
在mesh路由方面,通达信二次开发接口,dubbo-go将路由规则分为VirtualService和DestinationRule两部分,其中DestinationRule定义了目标地址的规则,通过subset和host关联到对应的集群,而VirtualService则定义了具体的路由匹配规则。当客户端发起一次调用时,首先经过VirtualService路由到具体的subset,然后根据DestinationRule中对应subset的labels信息找到具体的集群。这种设计方式将路由规则和目标地址进行了解耦,支持VirtualService和DestinationRule的多种组合,实现了更加灵活的路由策略,也可以更加轻易实现A/B测试、金丝雀发布、蓝绿发布等能力。
流量路由规则
Dubbo-go在上半年首次发布的0.0-rc1版本内已经支持Triple协议。在此期间,由合作方钉钉部门相关同学提出了较多针对响应时延、稳定性等优化建议。时至今日,在性能、用户使用体验、泛化调用、异常回传、PB反射等方面都进行了大量的优化工作。
pixiu网关即可解析path为my-通达信二次开发接口,dubbogo-app/orapach通达信二次开发接口,dubbo.quickstart.samples.UserProvider/SayHello的路由,并转发至对应服务。来自外部HTTP请求的body为json序列化的请求参数,例如{'name':'test'}。
Devops能力
如果您是Go语言微服务开发者,希望基于轻量级微服务框架快速开发自己的服务,那么Dubbo-go0将是您很好的一个选择。
如果您希望在gRPC生态中增加服务治理能力,Dubbo-go可帮助您很容易地从gRPC接入Dubbo生态,在不改变业务代码的情况下提供服务治理能力的支持。
关于接入通达信二次开发接口,dubbo-admin一块工作,目前通达信二次开发接口,dubbo-go已经重构了zookeeper配置中心的代码逻辑,并实现了和通达信二次开发接口,dubbo-admin互通,即用户可以在通达信二次开发接口,dubbo-admin上动态发布、更新路由来调度集群内流量,而应用可以立即感知,无需重启。在不久的未来我们会继续深入打通这一部分的能力互通,支持nacos等其他常用配置中心、注册中心的互通,彻底实现控制面板与数据面板的分离。
云原生架构师
在官方新特性支持的基础之上,Dubbo-go社区针对使用友好性,多语言多生态的兼容性,用户编程和使用习惯等方面重点进行了优化,与其说Go社区的0是一次版本对齐的迭代,不如说是一个富有生命力的新开始。
在配置中心方面,开发者可以使用Nacos、Apollo、Zookeeper进行框架/用户的配置的发布和拉取。
我们目前推荐使用Nacos作为注册中心。
用户可以在自己的集群里部署我们的demo,集群最好拥有暴露lb类型service的能力,从而可以在公网访问至集群内的服务,您也可以直接集群内进行请求。
目标用户
可观测性
获取pixiu公网ip并进行调用
$ kubectl get svc -n 通达信二次开发接口,dubbogo-triple-nacos
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
通达信二次开发接口,dubbo-go-nacos ClusterIP 192.168.123.204 8848/TCP 32s
pixiu LoadBalancer 192.168.156.175 30.XXX.XXX.XX 8881:30173/TCP 32s
开发者可以在代码内通过配置API生成配置实例结构,代码中生成的配置与从文件内读取的配置等价。参考于JavaBuilder的设计来自于社区同学们,也代表了开发者对于接口易用性的诉求。
// 1. 通过 Builder 模式创建配置中心的配置
configCenterConfig := config.NewConfigCenterConfigBuilder().
SetProtocol('nacos').SetAddress('127.0.0.1:8848').
SetDataID('通达信二次开发接口,dubbo-go-samples-configcenter-nacos-server').
SetGroup('通达信二次开发接口,dubbogo').
Build()
// 2. 通过 Builder 模式创建根配置
rootConfig := config.NewRootConfigBuilder().
SetConfigCenter(configCenterConfig).
Build()
// 3. 加载配置并启动框架
rootConfig.Load()
用户调用Dubbo-go服务的path为http://$(app_nam/$(service_nam/$(metho。
我们认为Triple的意义并不是一个简单的扩展协议,而是一个跨语言、跨生态概念的实现,也是Dubbo3的核心Feature所在。
在0时代,我们的“野心”不会止步于已有的用户使用场景和基础框架能力,我们选择追求高可用、多语言、跨生态的优点,打造新一代微服务基础设施,实现“BridgingTheGapBetweenXAndGo”,在扩展Go生态的也实现各种基础设施的云原生化。
容量评估是评估当前服务提供者状态以保持最优请求队列长度。容量评估关注的两个核心指标是TPS和延迟,TPS评估系统的每秒处理事物的速度,延迟反映用户等待时间。在评估服务端容量时,要平衡系统吞吐率和用户等待时间两者之间的关系,理想状态下在系统吞吐率尽可能大的情况下用户延迟尽可能小。
早期Dubbo-go社区就与Nacos社区展开密切合作,由多位核心贡献者参与Dubbo-go研发支持中,在0.0版本中,增加了多位Nacos社区成员,在社区迭代中作出了许多建设性的建议和贡献。
我们使用了3台相同规格机器,一台作为Server(运行一个triple-server),一台作为Client,一台作为施压机向Client发起针对整个链路的调用施压,并进行数据记录,记录rt、真实tps以及client和server的CPU占比数据。
接口定义
如果你在为公司选择云原生解决方案,通达信二次开发接口,dubbogo0提供的proxylessservicemesh也是一个很好的选择,它可以帮助你以最低的成本助你从微服务体系接入istio控制面。通达信二次开发接口,dubbogo的控制面能力还需要进一步加强,在未来的1版本中提供proxyless和proxy两套servicemesh方案。
在初期采用慢启动策略,取一个较低水平的值作为容量初始值,但是以较高增量向最优容量逼近。如果当前容量已经增长到TPS降低的情况,则使用较低增量以更精准的方式向最优容量移动。
Dubbo-go0会针对命令行工具进行重点开发,目前社区已提供用于发起DubboRPC调用的通达信二次开发接口,dubbo-go-cli;用于编译pb文件的protoc-gen-go-triple插件;并且Dubbo-go已经适配grpc_cli工具的调试,在未来,我们会在健康检查、服务信息获取、RPC调用调试、框架代码初始化和接口编译、服务部署等方面,进一步增强命令行工具的能力,以提供更完备的服务治理和运维生态。
Go语言作为最流行的云原生语言,近些年拥有很高的热度,一度备受国内开源生态的关注,据笔者了解,众多企业也在近年来从自身传统技术栈转型Go语言技术栈。Go以其开发敏捷、易用性高、入门较为容易的优势深受广大开发者青睐。而在Go语言生态成日益蓬勃发展之势下,其生态的完备性,相比于饱经考验的Java生态依然有着很大的Gap,对中小型企业来说,依然需要类似于Spring的Go框架来支撑日常业务开发,渴望具备Dubbo生态的易用性和稳定性,在这样的诉求之下,初衷为“BridgingTheGapBetweenJavaAndGo”的Dubbo-go服务框架在2016年应运而生,发展至今。
用户编程方式
从通达信二次开发接口,dubbogov3开始,就集成了seata-golang,实现了TCC模式分布式事务的调用。
配置结构
作者介绍:
编写服务实现,并使用框架进行启动即可。
gRPC使用者
动态性能评估:用户不需要事先设置机器权重,框架在运行时自动评估系统性能,性能好的机器承担更多流量,性能不足的机器承担更少的流量;故障自愈能力:负载均衡算法能够自动摘除故障的节点,并具备故障自愈能力;适当限流策略:避免服务雪崩问题。
相比于上一版本的Dubbo-go,本次发布在原来Dubbo协议的可观测性的基础上,提供了基于Triple协议可观测性支持,适配于Jaeger的链路追踪展示。对于数据上报,我们在框架中为之提供了接口,方便用户实时上报业务埋点数据,并默认开启promehteus的拉模式数据收集的支持。
Dubbo-go0为开发者屏蔽掉了底层实现细节,只需要关注几个关键点即可使用本框架进行开发,以triple服务为例。
我们在apache/通达信二次开发接口,dubbo-go-samples仓库的master分支维护了丰富的通达信二次开发接口,dubbo-go0的代码示例。包括多种协议的rpc调用,多种注册中心的支持,多种配置中心的使用,以及泛化调用、配置API、日志、数据上报、链路追踪等运维能力的展示,几乎框架拥有的全部能力都可以在samples仓库中找到对应的常见用例。用户也可以在5分支找到适配与通达信二次开发接口,dubbo-gox的示例。
通过压测结果我们可以看到,我们在多跳链路和单机上万级别tps的实验环境下,可以保证毫秒级请求时延,并维持合理的CPU资源占用率。
包括Apache/Dubbo与Apache/Dubbo-go在内的Dubbo生态被评为2021年中国20大最活跃社区之位居阿里所有开源项目第二【第一是蚂蚁集团的AntD】Dubbo-go已经成功申报中国科学技术协会主办的「2021“科创中国”开源创新榜评选」Dubbo-go开源社区被OSCHINA评为“2021年度OSCHINA优秀开源技术团队”
我们将在通达信二次开发接口,dubbo-go5版本在k8s方向探索的基础之上,进一步支持云原生能力,计划包含探针、配置、资源监听等方面,使得框架在云原生架构下具有更好的使用体验,更多样的服务治理能力。
其中,lim表示当前容量,itv表示当前探测间隔。
Dubbo-go0在路由规则方面设计与通达信二次开发接口,dubbo一致,提供了支持mesh方式的路由规则策略并接入了通达信二次开发接口,dubbo-admin这一控制面板。
柔性服务将在后续版本中持续优化,与Dubbo社区共同探索出一套适合微服务场景的柔性服务最佳实践。
两个社区现已合作将TCC模式seata-golang集成到了通达信二次开发接口,dubbo-go-pixiu中,只需要简单的配置、就能集成TCC模式协调分布式事务的方案,整体流程原理见上。为了进一步降低大家使用分布式事务的门槛,seata-golang社区也在考虑将AT模式做到DB代理层,届时在通达信二次开发接口,dubbo-go-pixiu中使用seata-golang会更加方便,敬请期待。
通过0前期阶段对于配置重构和大幅度的用户友好性优化,目前samples仓库内的代码和配置都已经高度精简化,从而突出单个模块的能力。开发者可以下载仓库后直接按照server到client的顺序来玩耍一个示例模块的服务,即可体验框架提供的能力。
北极星是腾讯开源的服务发现和治理中心,致力于解决分布式或者微服务架构中的服务可见、故障容错、流量控制和安全问题。在0.0版本的开发中,Dubbo-go社区与Polaris社区展开合作,实现了把Polaris作为通达信二次开发接口,dubbo-go的注册中心。
在proto反射支持的前提下,通达信二次开发接口,dubbo-go-pixiu提供了网关层协议转换调用triple服务的支持。
$ grpc_cli ls localhost:20000
org.apache.通达信二次开发接口,dubbogo.samples.api.Greeter
grpc.reflection.v1alpha.ServerReflection
我们在今年下半年的云计算基础架构大会上了解到了“基础架构能力下沉”的重大意义,从单体架构到云原生架构的一步步发展,都在努力将业务代码与中间件解耦,尽可能提供统一的编程接口,通过AOP的思路将服务调用抽象化,将接口标准化,将基础设施的实现下沉化。而Dubbo-go正是在原有保证网络通信的高可用、稳定性的前提下,整合了一批常用开源组件,提供一致的编程接口可供扩展和调用。在此之上,对齐Dubbo生态主流控制面,尝试与云原生结合,朝向ProxylessServiceMesh方向发展,是我们整个生态项目的一致的愿景。
二Dubbo-go0有哪些不同
其他公司
框架启动所依赖的配置项。
传统负载均衡算法大多是基于消费者视角,它们共同的局限性是无法根据服务提供者的当前状态动态调整分流策略,如RR、hash等算法。这些算法总是以尽可能公平的概率分配流量,但在实践中公平不等于负载均衡。
Triple默认开启proto反射,用户可以使用grpc_cli针对Triple协议暴露的pb序列化服务进行展示和调试。
并在通达信二次开发接口,dubbo-go服务启动时在通达信二次开发接口,dubbogo.yml内配置应用名为my-通达信二次开发接口,dubbogo-app:
在每次调用过程结束后,服务提供者会通过Dubbo-go的附件特性将最新的预估容量返回给服务消费者,消费者将信息缓存至本地并使用P2C算法实现智能分流。
HillClimbing算法作用于服务提供者,周期性地判定当前是否处于最佳状态并动态更新系统容量。
新配置方案
柔性服务
框架配置文件:通达信二次开发接口,dubbogo.yaml
本次发版对日志模块进行了较大的改变和更新,用户可以根据需求配置日志打印的级别、分片、文件输出、保留时常等信息,并支持用户自定义日志组件。
李志信,通达信二次开发接口,dubbo-go0负责人,ApacheDubboPMC,来自阿里云中间件团队,从事Go语言中间件的研发和开源工作。于雨,通达信二次开发接口,dubbo-go社区负责人,ApacheDubboPMC,蚂蚁集团可信原生部【TNT】基础设施和中间件研发一线程序员。工作十一年来陆续参与和改进过Redis/Pika/Pika-Port/etcd/Muduo/Dubbo/通达信二次开发接口,dubbo-go/Sentinel-golang/Seata-golang等知名项目。牛学蔚,ApacheDubboCommitter,北邮计算机学院二年级研究生,对中间件、云原生领域有着浓厚的兴趣。董剑辉,ApacheDubboCommitter,目前主要关注的开源方向为Dubbo、Flink、Calcite。
编写proto文件,并使用提供的protoc-gen-go-triple插件以及官方protoc-gen-go插件进行编译。
容量更新策略与TCP拥塞控制相似。下面公示表示HillClimbing算法预设的两种增量类型:
真实容量受到硬件和下游依赖的限制,一次性预测真实容量难度较高。如上所示,TPS在到达最佳值之前,与请求数呈单调递增的关系。在Dubbo-go0.0版本中,我们引入了爬山算法,在调用过程中逐步逼近系统的最佳承载量。
针对您的集群,执行:
$ kubectl apply -f https://raw.githubusercontent.com/通达信二次开发接口,dubbogo/triple-pixiu-demo/master/deploy/pixiu-triple-demo.yml
接口代码实现
功能介绍
框架对于RPC调用相关信息,例如请求RT,接口名、方法名等数据,也提供了默认的metrics字段,供用户收集和统计。
如果您是Dubbo生态使用者,或者在语言切换的过程中面对兼容性问题,Dubbo-go在多协议跨语言互通的场景下会祝您一臂之力。
我们还会在适配于pixiu网关协议转换的基础之上,进一步发掘网关的能力,朝proxylessservice-mesh的方向探索新的微服务架构。
Dubbo-go生态整体已经与Dubbo、gRPC、SpringCloud等生态互联互通,把东西向和南北向数据面流量统一于一体:既可以通过Dubbo-go进行东西方向服务调用,也可以在Dubbo-go-pixiu中进行南北向流量治理。
例如一个proto文件内有如下定义:
package org.apache.通达信二次开发接口,dubbo.quickstart.samples;
service UserProvider {
rpc SayHello (HelloRequest) returns (User) {}
}
message HelloRequest {
string name = 1;
}
大规模分布式系统承载的用户流量呈指数级增长,需要使用负载均衡算法将流量均匀地分散到各个机器中,提升集群的吞吐率和资源利用率。
前面讲到,Dubbo-go0对我们来说是一个新时代的起点,在未来的迭代中,我们除了继续维护上述流量调度以及服务治理能力之外,还会基于如下几个方向重点发力。
配置API
我们期望的均衡分流策略是:
统一控制面与服务架构创新
接口、实现、配置。是常见go微服务的基本依赖元素。Dubbo-go提供一整套微服务的解决方案,并提供丰富的服务治理能力和可扩展能力,从而可以让用户容易地接入使用。
Sentinel是面向分布式服务架构的流量控制组件,在Sentinel-Golang首个版本0.0正式发布后,Dubbo-go社区就与Sentinel-Golang社区展开密切合作,在功能上支持Sentinel-Golang作为流量控制。
Nacos社区
Polaris社区
会在通达信二次开发接口,dubbogo-triple-nacos命名空间下创建如下资源,包含三个triple-server,一个pixiu网关,一个nacosserver。并通过Servcie将服务暴露至公网。
namespace/通达信二次开发接口,dubbogo-triple-nacos created
service/通达信二次开发接口,dubbo-go-nacos created
deployment.apps/通达信二次开发接口,dubbogo-nacos-deployment created
deployment.apps/pixiu created
deployment.apps/server created
service/pixiu created
五展望
代码示例仓库通达信二次开发接口,dubbo-go-samples
cli工具
Dubbo-go生态覆盖多种网络协议:Triple、Dubbo、JSONRPC、gRPC、HTTP、HTTP2等。
什么是Dubbo-go
四社区协作
在0时代,我们更清晰地规范出了应用层级配置和接口层级配置的概念,相比于之前版本,在配置结构上进行了重构和精简化。例如开发者在微服务场景之下,会关注注册中心地址、协议、接口名等信息。只需要在配置文件中制定好:
通达信二次开发接口,dubbo:
registries:
ZKRegistry: # 注册中心配置
protocol: zookeeper # 注册中心类型
address: 127.0.0.1:2181 # 注册中心配置
protocols:
triple: # 协议配置
name: tri # 协议名
port: 20000 # 服务端监听端口
provider:
services:
GreeterProvider: # 服务提供者类名
interface: com.通达信二次开发接口,dubbogo.sample.DemoServiceName # 接口 ID
三用户视角的Dubbo-go
Dubbo-go是常新的,每年都在不断进化。介绍Dubbo-go0工作之前,先回顾其过往6年的发展历程,以明晰未来的方向。
在链路追踪方面,我们支持基于Jaeger、ZipKin的链路追踪能力。
探测间隔随着时间逐步拉长,直至趋向稳定。刚启动时没有历史数据,此时需要频繁更新容量评估值,保证系统以尽可能快的速度探测到最优容量。我们假定最优容量短时间内不会再强烈波动,且容量评估也会额外消耗资源,因此当趋向稳定的时候,算法将逐步延长探测周期。
Seata-golang社区
在指标可视化方面,我们支持使用Prometheus收集框架指标和用户指标。
在流量控制方面,我们内置实现了固定窗口、滑动窗口等知名的限流算法,同时也支持与第三方成熟的限流熔断框架Hystrix,Sentinel-golang等集成提供治理功能。
githucom/apache/通达信二次开发接口,dubbo-go是一款高性能Go语言微服务RPC框架,在Dubbo多语言生态中扮演重要角色,是编写go语言微服务的最佳选择之
反射支持
通过curl调用demo服务,并获得响应结果。
$ curl -X POST -d '{'name':'laurence'}' http://30.XXX.XXX.XX:8881/通达信二次开发接口,dubbogoDemoServer/org.apache.通达信二次开发接口,dubbo.laurence.samples.UserProvider/SayHello
{'name':'Hello laurence','id':'12345','age':21}
Dubbo-go项目由于雨于2016年创立,2018年开始组建开源社区,2019年项目正式进入Apache软件基金会,经历三年多不断地迭代和优化,2021年底通达信二次开发接口,dubbogo社区正式推出集成新通信协议、新序列化协议、新应用注册模型、新路由以及新的服务治理能力的v0版本,该版本在前期研发阶段已经拥有了众多生产用户的关注和使用。
在Dubbo-go0中,可以将上述框架配置或用户配置放置在配置中心内便于管理。在容器内只需要放置配置中心相关信息即可基于该配置启动框架。
通达信二次开发接口,dubbo:
config-center: # 配置中心信息
protocol: nacos
address: 127.0.0.1:8848
data-id: 通达信二次开发接口,dubbo-go-samples-configcenter-nacos-server
P2C算法作用于服务消费者,它有着更科学的负载均衡策略并广泛的应用在多个知名开源项目中,如Linkerd、Rsocket等。该算法首先随机选择两个节点,然后对比节点的剩余容量,选择其中一个剩余容量较多的节点作为本次调用的服务提供者。
从我们社区所对接的Go语言开发者考虑,PB序列化更能适配与他们的开发习惯,方便从已有gRPC服务迁移业务代码,还解决了升级过程中跨协议通信的兼容性问题,而在使用Triple协议后,跨语言互通的优势将进一步体现,从“可互通”转变为基于成熟序列化方案的“稳定性互通”,方便用户业务更广泛的扩展,简单来说,在Dubbo时代,用户进行跨语言互通需要依赖多语言生态的Dubbo协议实现,而在0时代,您可以使用任意语言的gRPC实现来与Dubbo服务直接进行互通,并共享gRPC生态的一系列组件,例如链路追踪、可视化、cli工具等等。
在分布式事务方面,我们支持Seata-golang,实现了TCC模式分布式事务的调用。
柔性服务作为新一代负载均衡策略被引入Dubbo-go0中,核心能力包括容量评估和智能分流。
开发者可以使用Dubbo-go框架高效地编写RPC服务,并支持与Dubbo、gRPC服务跨语言互通;您可以使用Dubbo生态强大的服务治理能力和运维能力,例如服务注册发现、负载均衡、配置中心、可视化等功能;您也可以使用Dubbo-go生态的pixiu网关将服务暴露给集群外部访问。
面向接口和配置的开发
Dubbo-go是阿里开源项目中最活跃的开源社区之多年的发展使社区积累了众多热爱开源的活跃贡献者、ApacheCommitter/PMC成员。不仅给Dubbo以及其他Dubbo生态项目示范了通过社区的组织运营帮助项目发展,而且帮助了提升了整个Dubbo大社区的活跃度:
Dubbo生态多语言使用者
通达信二次开发接口,dubbogo本身是一个有着极高生产环境需求的项目,在发展过程中与阿里等很多公司有过合作。这些合作使得双方都有收益,通达信二次开发接口,dubbogo的质量得以保证,功能得以拓展,合作方自身的平台稳定性得到极大提升。
性能优化
Dubbo-go从开始即是面向生产环境基于用户的实际需求构建开发的,其目标用户如下。
Apache软件基金会顶级项目Dubbo开源至今已有十年时间,而作为第三个里程碑,也是云原生时代的全新版本,Dubbo0的研发工作最早可以追溯到2018年,作为Dubbo多语言生态的重要一环,Dubbo-go社区也在2020年年底,将0版本作为主推方向。
作为一个能力功能非常丰富的服务平台,通达信二次开发接口,dubbogo社区很重视与各大开源社区特别是阿里系开源产品社区以及各个公司的合作。
新PB编译插件,新版本通达信二次开发接口,dubbo-go推荐go用户使用proto文件定义接口,与gRPC-go的使用方式类似。
$ go install github.com/通达信二次开发接口,dubbogo/tools/cmd/protoc-gen-go-triple@v1.0.5
$ protoc --go_out=. --go-triple_out=. ./helloworld.proto
互联互通能力
关于Triple协议,最早是阿里云中间件团队在Dubbo3形成概念的时候就提出的。它相比于上一代Dubbo协议,解决了Dubbo生态与其他云原生架构生态不互通的特点,并且用户很难理解位于传输层的上一代二进制协议。基于HTTP2协议的gRPC扩展协议就很好滴解决了这一问题。第二是点是对Mesh等网关型组件不够友好,在0时代,我们可以直接通过解析协议头来获取必要的元数据,并很自然地适配网关对于HTTP协议的转发实现。
作为一款站在用户角度设计的框架,我们更希望给予广大用户更简洁,更直观,更“约定大于配置”的使用体验,因此在研发阶段,我们重点进行了多轮的配置迭代以及samples仓库的建设和维护,为用户提供了更为精简的概念和重点突出的samples示例。
Dubbo-go-pixiu网关支持调用GO/Java的Dubbo集群。在Dubbo-go0的场景下,我们可以通过Pixiu网关,在集群外以HTTP协议请求pixiu网关,在网关层进行协议转换,进一步调用集群内的Dubbo-go服务。
广大Go语言微服务开发者
配置中心
文章为作者独立观点,不代表股票交易接口观点