liyingxin
liyingxin
Workflow需要依赖OpenSSL(推荐1.1及以上版本)和Cmake(要求3.6以上版本),以下为安装步骤: - 安装 `OpenSSL` ``` brew install openssl ``` - 安装 `CMake` ``` brew install cmake ``` - 指定 `OpenSSL` 环境变量 由于MacOS下默认有LibreSSL,因此在brew安装后,并不会自动建软链,我们需要手动把执行路径、编译路径、cmake时的find_package路径都配置到bash的环境变量中。用户可以执行`brew info openssl`查看相关信息,也可以如下配置: ``` echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.bash_profile...
Workflow支持异步文件IO任务,具体实现目前在Linux下是由操作系统支持的异步IO系统,在非Linux的系统下是用多线程实现的。而Windows下目前也这个需求,所以欢迎熟悉iocp开发的小伙伴可以积极参与共建~ 在此把原异步文件IO的流程大概梳理如下,以供参考: 1. 用户层接口,我们以`create_pread_task()`为例子: ```cpp class WFTaskFactory { static WFFileIOTask *create_pread_task(const std::string& pathname, void *buf, size_t count, off_t offset, fio_callback_t callback); ... ``` 2. Workflow内部都是行为派生,所以用户拿到的都是`WFFileIOTask *`类型的task,而内部会根据pread行为创建一个`__WFFilepreadTask`: ```cpp WFFileIOTask *WFTaskFactory::create_pread_task(const std::string&...
## 1. Introduction **SRPC** supports generating and reporting tracing and spans, which can be reported in multiple ways, including exporting data locally or to [OpenTelemetry](https://opentelemetry.io). Since **SRPC** follows the [data...
srpc框架实现了thrift framed协议,因此可以和原生thrift进行互通。 原生thrift由于没有提供连接复用,小伙伴过去在使用thrift时往往会自己封装连接池,并使用半同步方式提升thrift的性能。 srpc提供了非常好的连接复用和线程复用,并且提供了兼容原thrift使用方式的接口,无论是client还是server性能都远超原thrift。 但小伙伴在业务升级时,可能会先升级client或server,逐步替换。 而我们在使用**原生thrift client**的**半同步**接口与**srpc thrift server**进行通信时,需要注意: srpc server的网络模型是**一发一收**,这意味着我们对一个连接调用thrift的``send_method()``和``recv_method()``接口时也必须保证消息**一发一收**。不能对同一个连接连续调用多次``send_method()``,原生thrift server会忽略多次发送的行为,但srpc thrift server内部网络模型会认为是错误而关掉连接。 以我们的tutorial里定义的Echo举个例子: ```cpp service Example { EchoResult Echo(1:string message, 2:string name); } ``` 我们会使用以下两个半同步接口: ```cpp void send_Echo(const...
感谢各位小伙伴关注,我们组建了一个QQ群,对workflow和srpc感兴趣的开发者可以加:618773193 如果需要验证可以说明一下是workflow/srpc srpc刚开源,还有许多生态需要建设,希望与大家多多交流~ 附上二维码: ![](https://user-images.githubusercontent.com/1880011/92300953-e9cc5400-ef91-11ea-82f5-4cf3174cd851.jpeg)
To improve write speed for some proxy that do not support pipeline mode, this pull request supports parallel writers in RDB restore mode.
### 问题描述(Issue Description) 使用工具往target迁移,前后三次都出现以下情况(分别跑了20分和40分钟这样): **运行过程中short write退出了,抓包发现redis-shake在同一时间里:共16个连接,其中11个连接发了rst,5个连接发了fin。** source工具以前有改过并发发送,所以这里是建立多个连接,target是个proxy。 同时,也有其他实例在正常迁移中,target的日志看cost也很短,整体连接数也不高,请求还达不到target的处理瓶颈,因此暂时排除target的问题。 ### 环境信息(Environment) - RedisShake 版本(RedisShake Version): 基于commit: 30a09a8683602ff5d43d2b00576170044a93d544,去年fork过的改动是https://github.com/holmes1412/RedisShake (但目前看和改动的关系不大,没有改过网络相关处理) ### 日志信息(Logs) ``` 2023-10-11 18:18:18 INF redisWriter succesfully execute restore timeliness_af2551c1d7cc4499a66775d464034b79 2023-10-11 18:18:18...
**SRPC has released a tool `srpc` to quickly build projects in [Release v0.10.0](https://github.com/sogou/srpc/releases/tag/v0.10.0) 👏👏👏** It can automatically pulling dependencies, deploying directories, generating cmake compiling files, default configurations, and sample codes....
https://github.com/sogou/srpc/issues/395