要从我们的兼容 Swift 的服务中获取数据,你可以执行 GET 请求,在身份验证期间使用 X-Storage-Url 的值来获取。 列出所有容器 一个指定API版本和帐户的 GET 请求将返回特定 用户帐户的容器列表。因为这个请求返回一个特定用户 的容器,所以该请求需要一个身份验证令牌。这种请求 不能匿名。 语法 GET /{api version}/{account} HTTP/1.1 Hos
框架默认提供创建 TCP/UDP 服务的能力。只需要进行简易的配置,便可使用。 使用 TCP 服务 创建 TcpServer 类 <?php declare(strict_types=1); namespace App\Controller; use Hyperf\Contract\OnReceiveInterface; class TcpServer implements OnRecei
微服务治理的一个核心需求便是服务可观察性。作为微服务的牧羊人,要做到时刻掌握各项服务的健康状态,并非易事。云原生时代这一领域内涌现出了诸多解决方案。本组件对可观察性当中的重要支柱遥测与监控进行了抽象,方便使用者与既有基础设施快速结合,同时避免供应商锁定。 安装 通过 Composer 安装组件 composer require hyperf/metric hyperf/metric 组件默认安装
安装 composer require hyperf/rate-limit 配置 发布配置 php bin/hyperf.php vendor:publish hyperf/rate-limit 配置说明 配置 默认值 备注 create 1 每秒生成令牌数 consume 1 每次请求消耗令牌数 capacity 2 令牌桶最大容量 limitCallback [] 触发限流时回调方法 wa
网络通讯天然是不稳定的,因此在分布式系统中,需要有良好的容错设计。无差别重试是非常危险的。当通讯出现问题时,每个请求都重试一次,相当于系统 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 来
MySQL服务日志 MySQL服务日志分类 慢查询日志 查看慢查询日志的定义 启动和设置慢查询日志 二进制日志 MySQL服务日志分类 错误日志(error):记录MySQL服务进程mysqld在启动/关闭或者运行过程中遇到的错误信息; 查询日志(query log),分为以下两类: 普通日志(general query log):记录客户端连接信息和执行的SQL语句信息( 生产环境中一般不开启