服务治理
服务治理
大家对微服务的一个很大的关注点就是在于微服务的治理。用户希望能够清晰地掌握微服务的性能、调用分析以及依赖关系等数据。这些数据的获取一般有两种方式:一种是通过设置API网关进行微服务访问的转发,实现对调用的度量统计、流量控制和安全管控;另外一种方式是借助于微服务框架,在应用服务的代码或运行环境中加入探针,进行度量收集和行为控制。这两种方式前者是非入侵性的,后者则是入侵性的。
API 网关
目前市场上有不少API网关的选择,有开源的,也有商用的。这里推荐一个开源的.NET Core的API Gateway Ocelot。Ocelot 是.NET 开源社区的一个API GateWay开发框架,方便根据自己的需求定制一款API网关,进行容器化部署。详细信息参考https://docs.microsoft.com/zh-cn/dotnet/standard/microservices-architecture/multi-container-microservice-net-applications/implement-api-gateways-with-ocelot#using-kubernetes-ingress-plus-ocelot-api-gateways
微服务框架
微服务框架和应用的耦合比较紧密,往往和开发平台有较强的相关性。就.NET平台而言,微软的Service Fabric 的微服务框架是当前比较流行的微服务框架之一。这里还是要推荐一款由我们的社区开发的微服务框架Surging,Surging 是一个分布式微服务框架,提供高性能 RPC 远程服务调用,采用 Zookeeper、Consul 为服务注册中心,集成了哈希、随机、轮询、压力最小优先作为负载均衡的算法,集成 Netty 框架,使用异步传输。在Surging作者的范亮先生的博客中有大量文章介绍 Surging 的各子系统细节和用例,本文不做赘述。
最后还要为我们正在开发的微服务框架TarsNET做下广告,虽然目前C#版本我们正在开发中,Tars 作为一款微服务在腾讯QQ运行10多年经过海量互联网流量考验的微服务框架是值得我们期待的。
学员评价