拥有swoft标签的文章

【swoft.1.04】swoft中的熔断器

在应用架构中,熔断器起着同样的作用。在上一篇中说到了分布式应用架构做RPC远程调用可能遇到的问题,也就时服务在挂掉后程序互相阻塞导致整个系统雪崩。使用熔断器可以很好的解决这个问题。熔断技术可以说是一种“智能化的容错”,当调用满足失败次数,失败比例就会触发熔断器打开,有程序自动切断当前的RPC调用,来防止错误进一步扩大。实现一个熔断器主要是考虑三种模式,关闭,打开,半开。
阅读全文

【swoft.1.04】使用swoft+consul做服务注册,服务发现

前景提要在上一篇大概说了一下如何使用sowft去请求集群的服务,并实现了下图的架构在我写完后突然发现,swoole中使用服务提供者可以直接在配置中注入。不过没关系,上一篇也可以当做源码分析嘛!上一篇:今天,我会通过swoft+consul实现上图架构的升级版,也就是通过consul来实现服务注册,服务发现。在学习之前,你可能需要先补充一下consul的基础知识:那么进入正题吧! consul可以做什么consul可以通过集群
阅读全文

【swoft.1.03】如何请求集群的服务

前言上一篇讲到了当拆分了项目中的服务到本地后如何配置一个最简单的RPC以及RPC源码的阅读。不过既然已经开始使用远程调用了,架构肯定会向服务集群的方向发展,也就是一个服务由多个服务器,客户端需要对这些服务器进行随机或有规则的访问。如果是http请求的话,可以使用nginx反向代理做负载均衡等方式,但是这里RPC使用的是TCP协议,并不经过nginx。 情景模拟假设现在要做一个直播相关项目,因为弹幕相关功能负载非常高,所以需要对弹幕相关功能进行了服务拆分,并为了高可用给弹幕
阅读全文

【swoft.1.02】Swoft中的RPC

RPC 什么是RPCRPC是微服务的基石之一,因为微服务本身的核心是将服务拆分后互相调用,调用方法一般有两种模型,一种是REST风格的API接口,另一种就是远程调用RPC了。RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。比如说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,就需要通过网络来表达调用
阅读全文

【swoft.1.01】微服务介绍

前言准备开一篇微服务相关的博客,使用docker+swoft来部署微服务架构。在前公司有推行过swoft做微服务架构,结果架构推进未半而中道入院,挺遗憾的,所以自己来搞搞吧。至于内容就边写边想边学吧。 环境docker+swoft2.0.7+swoole4.4.8swoft的Dockerfile直接pull官方的docker镜像即可`docker pull swoft`至于swoft的相关知识,swoole我使用的比较熟,swoft理解不够深就不先
阅读全文