网络通讯天然是不稳定的,因此在分布式系统中,需要有良好的容错设计。无差别重试是非常危险的。当通讯出现问题时,每个请求都重试一次,相当于系统 IO 负载增加了 100%,容易诱发雪崩事故。重试还要考虑错误的原因,如果是无法通过重试解决的问题,那么重试只是浪费资源而已。除此之外,如果重试的接口不具备幂等性,还可能造成数据不一致等问题。 本组件提供了丰富的重试机制,可以满足多种场景的重试需求。 安装 c
在进行服务拆分之后,服务的数量会变得非常多,而每个服务又可能会有非常多的集群节点来提供服务,那么为保障系统的正常运行,必然需要有一个中心化的组件完成对各个服务的整合,即将分散于各处的服务进行汇总,汇总的信息可以是提供服务的组件名称、地址、数量等,每个组件拥有一个监听设备,当本组件内的某个服务的状态变化时报告至中心化的组件进行状态的更新。服务的调用方在请求某项服务时首先到中心化组件获取可提供该项服务
JSON RPC 是一种基于 JSON 格式的轻量级的 RPC 协议标准,易于使用和阅读。在 Hyperf 里由 hyperf/json-rpc 组件来实现,可自定义基于 HTTP 协议来传输,或直接基于 TCP 协议来传输。 安装 composer require hyperf/json-rpc 该组件只是 JSON RPC 的协议处理的组件,通常来说,您仍需配合 hyperf/rpc-ser
udp 服务端 udp 服务端 源码/* * Copyright (c) 2006-2018, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * *//** 程序清单:udp 服务端 * * 这是一个 udp 服务端的例程 * 导出 ud
tcp 服务端 tcp 服务端 源码/* * Copyright (c) 2006-2018, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * *//** 程序清单:tcp 服务端 * * 这是一个 tcp 服务端的例程 * 导出 tc
MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。 安装:composer require imiphp/imi-mqtt 项目配置文件: [
服务治理配置 黑白名单 "Server": { "Name": "sample", "Ip": "192.168.3.11", "Port": "5003", "Security": { "Whitelist": "*", //白名单 格式:ip1|ap2|1p3,默认 * "BlackList": "" //黑名单 格式:ip1|ap2|1p3,默认 "" } } 负载
创建实现服务的类,继承刚才创建的服务接口并实现接口即可: public class HelloService : IHelloService { public async Task<ResultModel> SayHello(string name) { ...具体的业务代码 return await
创建服务接口,接口必须继承IService。 注意:在异步编程里,异步转同步调用是非常糟糕的,并且有可能死锁。为了避免这个问题,Uragano不支持同步方法,所有的服务方法必须是异步的。 [ServiceDiscoveryName("RPC")] [ServiceRoute("hello")] public interface IHelloService : IService { [Ser
Hprose 2.0 最大的亮点就是增加了推送功能的支持,而且这个功能的增加是在不修改现有通讯协议的方式下实现的,因此,这里的推送服务,即使不是 Hprose 2.0 的客户端或者服务器也可以使用。 当然,在旧版本的客户端调用推送服务,或者在旧版本的服务器上自己实现推送,需要多写一些代码。所以,如果你所使用的语言支持 Hprose 2.0,那幺推荐直接使用 Hprose 2.0 的推送 API 来
Hprose 2.0 for Golang 支持多种底层网络协议绑定的服务器,比如:HTTP 服务器,Socket 服务器和 WebSocket 服务器。 其中 HTTP 服务器支持在 HTTP、HTTPS 协议上通讯。 Socket 服务器支持在 TCP、Unix Socket 协议上通讯,并且支持全双工和半双工两种模式。 WebSocket 服务器支持在 ws、wss 协议上通讯。 尽管支持这
MySQL服务日志 MySQL服务日志分类 慢查询日志 查看慢查询日志的定义 启动和设置慢查询日志 二进制日志 MySQL服务日志分类 错误日志(error):记录MySQL服务进程mysqld在启动/关闭或者运行过程中遇到的错误信息; 查询日志(query log),分为以下两类: 普通日志(general query log):记录客户端连接信息和执行的SQL语句信息( 生产环境中一般不开启
京东小程序开放平台开发者服务协议 【请认真阅读并理解以下内容,其中以加粗方式显著标识的文字,请着重阅读、慎重考虑】 前言 1、本协议由拟在京东小程序开放平台(以下或简称“京东小程序平台”或“小程序平台”)开发京东小程序(以下或简称“小程序”)的京东小程序开发者(以下简称“开发者”,“乙方”或“您”)与京东小程序开放平台运营方(以下或简称“京东”或“甲方”)共同缔结,具有合同效力。 2、本协议由协议
3.5.1.1. 什么情况下需要使用中继服务 当两台设备无法直接建立连接时,可通过中继服务转发数据来建立连接(通过中继服务转发的数据已经过加密处理,保障数据安全)。如,手机使用移动4G网络,和家里局域网内PC通常是无法直接建立连接的,这个时候就需要使用中继服务来转发数据。 能否直连取决于您的网络NAT类型(通过“设置->诊断信息”可以查看当前网络的NAT结构),以下为对应的穿透成功表,当无法打通时
创建 faygo 的Web服务非常灵活自由。用户可以设置服务名称、服务版本号,一个项目应用可以同时创建多个服务、多种网络类型。 支持的网络类型: 网络类型 配置net_types值 HTTP http HTTPS/HTTP2(TLS) https HTTPS/HTTP2(Let’s Encrypt TLS) letsencrypt HTTPS/HTTP2(Let’s Encrypt TLS on