
云原生
文章平均质量分 94
办公模板库 素材蛙
命数如织 当为磐石
展开
-
Kubernetes 原理剖析与实战12 Helm Chart:如何在生产环境中释放部署生产力?
目前 Helm 是 CNCF 基金会旗下已经“毕业”的独立的项目。它简化了 Kubernetes 应用的部署和管理,大大提高了效率,越来越多的人在生产环境中使用 Helm 来部署和管理应用,所以我在这里用一个课时来专门讲解它的原理和使用,想让你在使用 Kubernetes 时如虎添翼。如果你对本节课有什么想法或者疑问,欢迎你在留言区留言,我们一起讨论。原创 2022-10-14 10:11:37 · 799 阅读 · 0 评论 -
Kubernetes 原理剖析与实战11 K8 Service:轻松搞定服务发现和负载均衡
Service 是 Kubernetes 很重要的对象,主要负责为各种工作负载暴露服务,方便各个服务之间互访。通过对一组 Pod 提供统一入口,Service 极大地方便了用户使用,用户只需要与 Service 打交道即可,而不用过多地关心后端实例的变动,比如扩缩容、容器异常、节点宕机,等等。原创 2022-10-14 10:07:22 · 769 阅读 · 0 评论 -
Kubernetes 原理剖析与实战10 存储管理:怎样对业务数据进行持久化存储?
这节课我们讲了 PV、PVC 以及 StorageClass,它们直接的关系以及设计思路。你也许刚接触这几个概念的时候,有些稀里糊涂,但是通过分析各个对象要解决的问题,可以帮助你更好地掌握它们。好的,如果你对本节课有什么想法或者疑问,欢迎你在留言区留言,我们一起讨论。原创 2022-10-14 10:06:01 · 627 阅读 · 0 评论 -
Kubernetes 原理剖析与实战09 存储类型:如何挑选合适的存储插件?
本节课讲的 Configmap、Secret、Downward API、EmptyDir 以及 Hostpath 都是日常频繁会使用到的 volume plugin,数据都会放在 Pod 所在的宿主机上。但是对于一些云厂商或者第三方的存储系统,我建议你直接通过 CSI 来使用。如果你需要持久化的存储,请关注我们下一节课的内容。好的,如果你对本节课有什么想法或者疑问,欢迎你在留言区留言,我们一起讨论。原创 2022-10-14 10:02:34 · 464 阅读 · 0 评论 -
Kubernetes 原理剖析与实战08 配置管理:Kubernete 管理业务配置方式有哪些?
ConfigMap 和 Secret 是 Kubernetes 常用的保存配置数据的对象,你可以根据需要选择合适的对象存储数据。通过 Volume 方式挂载到 Pod 内的,kubelet 都会定期进行更新。但是通过环境变量注入到容器中,这样无法感知到 ConfigMap 或 Secret 的内容更新。目前如何让 Pod 内的业务感知到 ConfigMap 或 Secret 的变化,还是一个待解决的问题。但是我们还是有一些 Workaround 的。如果业务自身支持 reload 配置的话,比如。原创 2022-10-14 10:01:04 · 1055 阅读 · 0 评论 -
Kubernetes 原理剖析与实战07 有状态应用:Kubernetes 如何通过 StatefulSet 支持有状态应用?
现在我们就总结下 StatefulSet 的特点:具备固定的网络标记,比如主机名,域名等;支持持久化存储,而且最好能够跟实例一一绑定;可以按照顺序来部署和扩展;可以按照顺序进行终止和删除操作;在进行滚动升级的时候,也会按照一定顺序。借助 StatefulSet 的这些能力,我们就可以去部署一些有状态服务,比如 MySQL、ZooKeeper、MongoDB 等。你可以跟着这个教程在 Kubernetes 中搭建一个 ZooKeeper 集群。到这里这节课就结束了,下节课我们就来学习配置管理。原创 2022-10-14 09:58:45 · 243 阅读 · 0 评论 -
Kubernetes 原理剖析与实战06 无状态应用:剖析 Kubernetes 业务副本及水平扩展底层原理
Kubernetes 中这些高阶的抽象对象,都是通过标签选择器来控制 Pod 的,包括我们下一节课要讲的有状态服务控制器。通过这些标签选择器,我们也可以通过 kubectl 命令行方便地查询一些对象。有了 Deployment 这个高级对象,我们可以很方便地完成无状态服务的发布、更新升级,无须多余的人工参与,就能保证业务的高可用性。这也是 Kubernetes 迷人之处——声明式 API。如果你对本节课有什么想法或者疑问,欢迎你在留言区留言,我们一起讨论。原创 2022-10-13 10:44:57 · 307 阅读 · 0 评论 -
Kubernetes 原理剖析与实战05 K8 Pod:最小调度单元的使用进阶及实践
其实作为 Kubernetes 内部最核心的对象之一,Pod 承载了太多的功能。为了增加可扩展、可配置性,Kubernetes 增加了各种 Probe、Hook 等,以此方便使用者进行接入配置。所以在一开始使用的时候,会觉得 Pod 中配置项太多。但是不要害怕,这些配置项都是有一定目的的。通过上面合理地归类和示例,可以很好地帮助你理解 Pod Spec 中的一些定义。下一节课开始,我们就要学习如何部署高可用业务。如果你对本节课有什么想法或者疑问,欢迎你在留言区留言,我们一起讨论。原创 2022-10-13 10:43:55 · 295 阅读 · 0 评论 -
Kubernetes 原理剖析与实战04 核心定义:Kubernete 是如何搞定“不可变基础设施”的?
Pod 是 Kubernetes 项目中实现“容器设计模式”的最佳实践之一,也是 Kubernetes 进行复杂应用编排的基础依赖。引入 Pod 主要基于可管理性和资源共享的目的,希望你能够仔细理解和揣摩 Pod 的这种设计思想,对今后的容器化改造颇有受益。我们在后续的课程中会逐渐接触到更为复杂、弹性的应用。下一节课,我将带你实践 Pod。如果你对本节课有什么想法或者疑问,欢迎你在留言区留言,我们一起讨论。原创 2022-10-13 10:42:47 · 267 阅读 · 0 评论 -
Kubernetes 原理剖析与实战03 集群搭建:手把手教你玩转 Kubernetes 集群搭建
集群搭建只是第一步,重要的是后续集群的维护工作,比如集群组件宕机、集群版本升级等。所以选择合适的工具很重要,因为这可以很大程度降低升级的风险以及运维难度。最后我还想再强调一下,千万不要跨小版本进行升级,要按小版本依次升上来。下一节课,我们将深入学习 Kubernetes 的核心定义。如果你对本节课有什么想法或者疑问,欢迎你在留言区留言,我们一起讨论。原创 2022-10-13 10:41:56 · 665 阅读 · 0 评论 -
Kubernetes 原理剖析与实战02 高屋建瓴:Kubernetes 的架构为什么是这样的?
虽说 Kubernetes 跟 Borg 系统有不少差异,但是总体架构还是相似的。从Kubernetes的架构以及各组件的工作模式可以看到,Kubernetes 系统在设计的时候很注重容错性和可扩展性。它假定有发生任何错误的可能,通过 backoff retry、多副本、滚动升级等机制,增强集群的容错性,提高 Kubernetes 系统的稳定性。同时对各个组件增加可扩展能力,保证 Kubernetes 对新功能的接入能力,让人们可以对 Kubernetes 进行个性化定制。好的,这里这节课就结束了。原创 2022-10-13 10:39:39 · 300 阅读 · 0 评论 -
Kubernetes 原理剖析与实战01 前世今生:Kubernetes 是如何火起来的?
Kubernetes 是为数不多的能够成长为基础技术的技术之一,就像 Linux、OS 虚拟化和 Git一样成为各自领域的佼佼者。简单来说,Kubernetes是如今所有云应用程序开发机构能做出的最安全的投资,如果运用得当,它可以帮助大幅提升开发和交付的速度以及质量。下节课,我们一起来了解 Kubernetes 的架构。如果你有什么想法或疑问,欢迎你在留言区留言,我们一起讨论。原创 2022-10-13 10:38:44 · 387 阅读 · 0 评论 -
Kubernetes 原理剖析与实战开篇词 如何深入掌握 Kubernetes?
你好,我曾任 IBM 资深工程师,目前在国内某一线大厂任架构师。我平时非常喜欢研究工作中遇到的技术难题,积极参与各大开源项目。比如在云原生方面,我深度参与了、Helm、Prometheus 等开源项目,并贡献了诸多核心代码。原创 2022-10-13 10:36:27 · 577 阅读 · 0 评论 -
SpringCloudAlibaba 综合项目实战工业级PaaS云平台第六课 微服务治理、paas和devops
简介:微服务整合Sentinel自定义降级异常数据开发实战异常种类FlowException //限流异常DegradeException //降级异常ParamFlowException //参数限流异常SystemBlockException //系统负载异常AuthorityException //授权异常【新版】实现BlockExceptionHandler并且重写handle方法@Component@Override}}简介:微服务Docker打包插件配置。原创 2022-09-22 12:10:31 · 1453 阅读 · 1 评论 -
SpringCloudAlibaba 综合项目实战工业级PaaS云平台第五课 购物车订单支付的分布式设计
简介:商品-购物车-微服务功能需求介绍电商里面的知识介绍类目一个树状结构的系统,根据业务可以分成4-5级。如手机->智能手机->国产手机 类目,在这里面,手机是一级类目,国产手机是三级类目,也是叶子类目SPUStandard Product Unit:标准化产品单元。是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。通俗点讲,属性值、特性相同的商品就可以称为一个SPU比如 Iphone100 就是一个SPUSKU一般指库存保有单位。原创 2022-09-22 11:50:48 · 998 阅读 · 0 评论 -
SpringCloudAlibaba 综合项目实战工业级PaaS云平台第四课 优惠券模块的分布式设计和压力测试
简介:介绍常见的优惠券业务和课程案例效果体验互联网企业最重要的是拉新业务,产品经理 自然诞生了很多玩法砍价拼团裂变优惠券电商优惠券逻辑,优惠券的玩法很多,主要讲一下比较常见的优惠券获取方式维度被动:新人优惠券无门槛现金劵…其他第一次登录注册某平台,登录成功后进入到首个页面弹出新人红包或者某固定位置领取新人红包,前端领取位置及细节不做详细讲解,根据实际业务场景而定主动:领取优惠券满减劵…其他促进商品订单成交,而设置的优惠券,提高下单支付率使用门槛维度无门槛现金劵满减劵。原创 2022-09-22 10:23:15 · 1341 阅读 · 1 评论 -
SpringCloudAlibaba 综合项目实战工业级PaaS云平台第三课 用户登录授权认证安全和文件分布式存储
简介:分布式文件存储常见解决方案介绍目前业界比较多这个解决方案,这边就挑选几个介绍下MinIO是在 Apache License v2.0 下发布的对象存储服务器,学习成本低,安装运维简单,主流语言的客户端整合都有, 号称最强的对象存储文件服务器,且可以和容器化技术docker/k8s等结合,社区活跃但不够成熟,业界参考资料较少官网:https://docs.min.io/cn/FastDFS。原创 2022-09-22 10:14:51 · 2987 阅读 · 0 评论 -
SpringCloudAlibaba 综合项目实战工业级PaaS云平台第二课 逆向工程和接口开发
简介:项目编码规范介绍和POJO实体类约定注意使用起来和普通版的mybatis generator一样,但是这个纯代码,不用复杂xml配置任何框架,不要使用过多的侵入或者框架定制化深的内容,防止后续改动耦合性高,成本大N方库说明一方库: 本工程内部子项目模块依赖的库(jar 包)。二方库: 公司内部发布到中央仓库,可供公司内部其它应用依赖的库(jar包)。三方库: 公司之外的开源库(jar 包)。POJO实体类。原创 2022-09-22 10:04:01 · 1380 阅读 · 0 评论 -
SpringCloudAlibaba 综合项目实战工业级PaaS云平台第一课 项目介绍与数据库搭建
###第1集 微服务项目大课训练营介绍+学后水平简介:讲解电商营销中心的业务背景和简历项目编写建议大课业务背景实际上这个大课项目,是我在海外业务线的一个拉新营销平台的基础模型,印度印尼市场,俗称双印,可以说是V1版本,整个过程0~1也是非常艰辛,流量峰值差异大(夜间、节日等)、产品变动、薅羊毛攻击、各种国家政策等,目前由于印度那边,在20年下半年暂时下线了。原创 2022-09-22 09:56:03 · 3016 阅读 · 0 评论 -
微信小程序开发16 内容加速:如何借助云存储实现无缝上云?
云开发云存储不止在传输效率以及安全性方面做了大量的工作,更在一些业务应用场景下有一些突破性的能力(比如图像处理,盲水印),开发者借助这些能力,开发应用将变得愈发简单。为了更好地让你熟悉把握,今天这节课我主要带你了解了云存储的能力和高级用法,我想强调这样三个重点:云存储自带CDN加速,并提供灵活的缓存配置;云存储有很高的安全防护能力,可使用安全规则高效防护;云存储自带扩展处理能力,可以轻松实现图像编辑,盲水印等功能。原创 2022-09-05 08:14:10 · 816 阅读 · 0 评论 -
微信小程序开发15 KISS:怎么设计简单易用的云开发函数?
本节我们主要讲了云函数的运行机制,并根据运行机制为你介绍了 4 个可优化提升云函数建议。总的来说云函数是云开发的基本计算能力,在应用开发中不可获。很多情况下,相同功能的应用,执行效率的差别更多可能出现在云函数的执行效率上。所以你要尽可能秉承 KISS 原则,来处理优化云函数的执行逻辑代码,同时配合运行机制的一些优化点,提升性能。除了云函数的优化之外,云函数还具有一些高级能力,可在一些情况下减轻你的代码负担。原创 2022-09-05 08:12:46 · 277 阅读 · 0 评论 -
微信小程序开发13 云开发:云原生一体化应用开发平台
你好,我是冠宇,从这个模块开始,就由我带着你一起学习。在开篇词中,俊鹏讲到云开发诞生的背后动力是困扰前端开发者们的一个核心问题:对后端的依赖。这就是我们今天这节课要讨论的话题。通过探讨这个问题,你能深刻认识到云开发到底是什么,并通过一些实际场景了解云开发在应用中发挥的作用。当然,你可以把这一讲当作整个模块的总纲,先从宏观上建立整体的认知,再深入细节,掌握后面的知识,比如怎么设计简单易用的云开发函数。原创 2022-09-04 12:58:36 · 1074 阅读 · 0 评论 -
微信小程序开发08 CICD:打造小程序的工程交付体系
持续集成和持续交付不仅能提高小程序的迭代效率,还能够从安全、规范、维护等角度提升代码质量以及研发团队的整体效率。在搭建持续化体系方面,小程序与传统前端项目的主要区别有两点:一是代码部署在微信的服务器;二是发布体验版和正式版必须人工操作。第一点决定了小程序的部署必须借助官方提供的工具,第二点决定了小程序持续交付的最远触达点是发布小程序的预览版或者也叫开发版,不过微信官方也在不断地迭代工具和生态,未来也不排除可部署体验版甚至正式版的可能性。原创 2022-09-04 12:49:56 · 1339 阅读 · 0 评论 -
GO微服务实战第三十四节 案例:如何使用 Prometheus 和 Grafana 监控预警服务集群?
你好,我是 aoho,今天我和你分享的是如何使用 Prometheus 和 Grafana 监控预警服务集群的案例。是互联网公司较为重要的后端架构组成之一,是整个运维乃至整个产品生命周期中最重要的一环,它能够事前及时预警发现故障,事后提供详实的数据用于追查定位问题。。监控和预警平台的重要性在《SRE:Google 运维解密》一书中就有体现:开发人员可以通过监控和预警平台了解服务内部的实际运行状态,通过对指标的观察可以预判所出现问题的可能原因,并且能够在系统发生故障时快速通知相关的人员。原创 2022-08-25 10:43:10 · 606 阅读 · 0 评论 -
GO微服务实战第三十三节 如何处理 Go 错误异常与并发陷阱?
错误处理是软件开发中不可回避的问题,Go 中主要通过 error 和 panic 分别表示错误和异常,并提供了较为简洁的错误异常处理机制。作为一门并发性能优越的语言,Go 虽然降低了协程并发开发的难度,但也存在一些并发陷阱,这就需要我们在开发时额外注意。在本课时,我们就来介绍 Go 中的一些错误处理机制,并讲解如何去规避一些常见的并发陷阱。错误处理是每个开发人员都需要面对的问题,在我过去接触的编程语言中,大多是通过try-catch 的方式对可能出现错误的代码块进行包装:程序运行 try 中代码,如果 tr原创 2022-08-24 10:15:38 · 292 阅读 · 0 评论 -
GO微服务实战第三十二节 如何使用 ELK 进行日志采集以及统一处理?
在前面的一系列课时,我们介绍了微服务各个组件的相关实践,从本课时开始我们将会介绍微服务日常开发的一些“利器”,这些工具会帮助我们构建更加健壮的微服务系统,并帮助排查解决微服务系统中的问题与性能瓶颈等。ELK 技术栈本课时将重点介绍(ELK 是 Elasticsearch、Logstash 和 Kibana 的简称),准确地说是 ELKB,即 ELK + Filebeat,其中 Filebeat 是用于转发和集中日志数据的轻量级传送工具。原创 2022-08-24 10:14:20 · 1530 阅读 · 0 评论 -
GO微服务实战第三十一节 案例:如何在微服务中集成 Zipkin 组件?
我们首先来定义 protobuf 文件及生成对应的 Go 文件。package pb;}1;2;3;}1;2;}这里提供了字符串服务中的 Diff 方法,客户端通过 gRPC 调用字符串服务。生成的 string.pb.go 可以参见源码,此处不再展开。在字符串服务中增加 gRPC server 的实现,并织入 gRPC 链路追踪的相关代码。= nil {}()原创 2022-08-24 10:12:21 · 694 阅读 · 0 评论 -
GO微服务实战第三十节 OpenTracing 规范介绍与分布式链路追踪组件选型
在上一课时,我们介绍了分布式链路追踪组件的相关背景和概念。市面上有多款流行的分布式链路追踪组件,包括 Zipkin、Jaeger、SkyWalking 和 Pinpoint 等,那它们具体的工作特性是怎样的呢?在实际工作中,我们又应该如何选型呢?下面我们就首先介绍下分布式链路追踪中的 OpenTracing 规范,然后再分析下这几款组件的相关特性,以及选型时的对比指标。原创 2022-08-24 10:08:41 · 1301 阅读 · 0 评论 -
GO微服务实战第二十九节 如何追踪分布式系统调用链路的问题?
在微服务架构下,原单体服务被拆分为多个微服务独立部署,客户端的请求涉及多个微服务,从而无法知晓服务的具体位置。系统由大量服务组成,这些服务可能由不同的团队开发,可能使用不同的编程语言来实现,多实例部署,这些实例横跨多个不同的数据中心。在这种环境中,当出现错误异常或性能瓶颈时,获取请求的依赖拓扑和调用详情对于解决问题是非常有效的。所谓分布式链路追踪,就是记录一次分布式请求的调用链路,并将分布式请求的调用情况集中展示。其中,调用详情包括各个请求的服务实例信息、服务节点的耗时、每个服务节点的请求状态等;原创 2022-08-24 10:02:46 · 482 阅读 · 0 评论 -
GO微服务实战第二十八节 案例:如何保证微服务实例资源安全?
今天我和你分享的是如何保证微服务实例资源安全的案例。在上一课时中,我们实践了如何使用 Go 搭建一个基本的,它的主要功能是颁发访问令牌和验证访问令牌的有效性。在统一认证与授权服务体系中,还存在对用户数据进行保护,它允许携带有效访问令牌的客户端请求用户资源。在本课时,我们将基于 Go 实现一个基本的资源服务器,让其为用户数据保驾护航。原创 2022-08-24 10:01:11 · 428 阅读 · 0 评论 -
GO微服务实战第二十七节 案例:如何自定义授权服务器?
今天我和你分享的是如何自定义授权服务器的案例。在上一课时中,我们基于 OAuth2 和 JWT 设计了认证与授权服务体系,在本课时,我们将通过 Go 来搭建一个授权服务器。授权服务器的主要交互对象为客户端和资源服务器,它们之间的交互流程如下图所示:交互流程示意图客户端在访问资源服务器中用户存储的数据之前,需要携带用户凭证向授权服务器请求访问令牌。授权服务器会验证客户端以及其携带的用户凭证,验证通过的话将会生成并返回访问令牌。原创 2022-08-24 09:59:35 · 385 阅读 · 0 评论 -
GO微服务实战第二十六节 如何设计基于 OAuth2 和 JWT 的认证与授权服务体系
在上一课时中,我们介绍了在微服务架构中存在的一些必要性和挑战,并介绍了 3 种主流的统一认证与授权方案,包括 OAuth2、分布式 Session 和 JWT。在本课时,我们将基于 OAuth2 和 JWT 设计一个认证与授权服务,让其。微服务架构的演进使得服务体系变得分散,如果让每个微服务独立管理自身的用户信息容易造成信息隔离,阻碍应用的发展,因此将分散的认证和授权进行统一管理显得尤为必要。原创 2022-08-24 09:57:42 · 955 阅读 · 0 评论 -
GO微服务实战第二十五节 统一认证与授权如何保障服务安全?
用于验证当前用户的身份,而意味着用户在认证成功后,会被系统授予访问系统资源的权限。只有具备相应身份和权限的人才能访问系统中的相应资源,比如在购物网站中你只能支付你自己购物车内的商品,这就保护了用户和系统的信息安全。微服务架构不同于单体应用的架构,单体应用的认证和授权非常集中,但是当服务被拆分之后,对各个微服务的认证与授权就会变得非常分散,因此,在微服务架构中,就将集成统一认证与授权的功能作为横切关注点,为应用服务提供信息安全保障。原创 2022-08-24 09:56:36 · 725 阅读 · 0 评论 -
GO微服务实战第二十四节 案例:如何在 Go 微服务中实现负载均衡?
只有一个 SelectService 方法,接受 ServiceInstance 也就是可用服务列表作为参数,根据一定负载均衡策略从服务实例列表中选择一个服务实例返回。而可用服务列表则可以通过服务注册和发现客户端从 Consul 等服务注册和发现中心获取。原创 2022-08-24 09:55:13 · 494 阅读 · 0 评论 -
GO微服务实战第二十二节 案例:如何通过 Service Meh 实现熔断和限流?
在前面的课时中,我们分别学习了熔断、限流在服务高可用架构中的重要性和具体使用方式。但是,在具体使用过程中,我们会发现实现熔断和限流的代码和实现业务逻辑的代码耦合在一起,对系统的可维护性产生了不良的影响。而 Service Mesh 作为下一代的微服务架构,它将服务间的通信从基础设施中抽离出来,还可以替这些业务服务完成熔断和限流等功能,而且完全对业务代码透明,这妥妥地提高了开发效率,因为普通开发者能够更加专注于业务开发。下面我们就来看一下如何通过Service Mesh 实现熔断和限流。原创 2022-08-22 10:47:02 · 621 阅读 · 0 评论 -
GO微服务实战第二十一节 如何实现接口限流和降级?
在前面的第 23 课时中,我们已经介绍了限流和降级的相关概念以及在服务高可用架构中的重要性。那本课时我们就继续往下剖析,来详细讲解限流和降级的使用场景以及二者的区别,接着我还会给你一些具体的案例,让你更好地掌握如何去进行限流和降级。原创 2022-08-22 10:44:51 · 1591 阅读 · 0 评论 -
GO微服务实战第二十节 如何实现熔断机制?
Hystrix 是 Netflix 开源的一个优秀的服务间断路器。它能够在服务提供者出现故障时,隔离服务调用者和服务提供者,防止服务级联失败;同时提供失败回滚逻辑,使系统快速从异常中恢复。Hystrix 完美地实现了断路器模式,同时还提供了信号量和线程隔离的方式保护服务调用者的线程资源,对延迟和失败提供强大的容错能力,进而保护和控制系统。err := hystrix.Do( "test_command" , func() error { // 远程调用&或者其他需要保护的方法 return nil。原创 2022-08-22 10:43:02 · 726 阅读 · 0 评论 -
GO微服务实战第十九节 如何保障分布式系统的高可用性?
高可用性是我们经常提到的名词,指系统提供的服务要始终可用,无论是系统内部运行出现故障,还是系统的外部依赖出现问题,甚至遇到系统硬件损坏、停电等致命性打击,系统都要保证基本可用。因此,高可用系统关注用户使用体验,并且通过降低系统出现故障的概率,以及缩短系统因突发故障导致的宕机时间,减轻了开发运维人员的工作。目前,主流的互联网产品都采用了大量手段来保证系统可用性,比如淘宝在双十一时会采用限流和降级设计等手法,来保证系统能够承受住秒杀活动时产生的巨量瞬时流量;原创 2022-08-22 10:41:39 · 610 阅读 · 0 评论 -
GO微服务实战第十八节 案例:Go-kit 如何集成 gRPC?
首先定义了 UserService 结构,它有一个名为 CheckPassword 的 grpc_transport.Handler 的方法。这个方法会调用 grpc_transport.Handler 的 ServeGRPC 方法来将请求交由 Go-kit 处理。// 定义接口 type UserService interface {}}原创 2022-08-22 10:39:48 · 1038 阅读 · 0 评论 -
GO微服务实战第十七节 gRPC 和 Apache Thrift 之间如何进行选型?
gRPC 是由 Google 开源的高性能 RPC 框架。自 2015 年发布以来,gRPC 日益成熟,并成为跨语言 RPC 通信中最流行也最受欢迎的选择之一。内置流式 RPC 支持。这意味着你可以使用同一 RPC 框架来处理普通的 RPC 调用和分块进行的数据传输调用,这在很大程度上统一了网络相关的基础代码并简化了逻辑。内置拦截器的支持。gRPC 提供了一种向多个服务端点添加通用功能的强大方法,这使得你可以轻松使用拦截器对所有接口进行共享的运行状况检查和身份验证。内置流量控制和 TLS 支持。原创 2022-08-22 10:31:03 · 372 阅读 · 0 评论