首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

brpc小课堂:从StringPiece说开来

修改其他字符串的函数 数据访问函数 比较函数 查找函数 截取子串 返回string对象 从StringPiece到string_view 备胎转正 API的差异 如果你没有C++14/17 序言 在brpc...其实brpc项目中的StringPiece并非brpc原创,而是从Google的Chromium项目中拿过来的。...LICENSE file. // Copied from strings/stringpiece.cc with modifications 因为Chromium项目是以BSD开源协议发布的,所以brpc...这两个几乎是照搬的源码(brpc仅微调),故不列到上面的表格中了。 何谓StringPiece? StringPiece和普通std::string的最大不同之处是,它并不持有数据!...源码剖析StringPiece 下面针对StringPiece源码的解读是基于brpc中代码,也就是Chromium的实现来展开。这一节很长,你可能感觉枯燥,你可以根据目录,选择性地查看相关内容。

91420

brpc最新安装上手指南

当时brpc还未开源。后于同年百度对外开源了brpc。在百度内部brpc叫baidu-rpc。后来由于进入了Apache基金会进行孵化,brpc的含义做了调整,改成了better RPC。...这倒也无伤大雅,众所周知,百度和腾讯是国内鲜有的C++大厂,而brpc也算是笔者见过C++开源世界里比较优秀且实用的框架了。 好了,关于brpc的溢美之词暂且按下不表,我们言归正传,赶快上手吧!...另外brpc支持Mac和Linux环境。本文是基于某云的Centos实机操作纪实!brpc的版本是0.9.7。...编译brpc 好了,准备工作做完,终于要编译brpc了。cd到brpc的下载目录中。...编译example brpc编译完成,基本上你就可以使用了。但是brpc自带的例子没有编译。我们可以编译一下,启动看看。在example目录下面。

2.4K40

brpc中的定时任务使用介绍

今天我就来聊一下brpc中的定时任务。 当然啦,因为RPC框架中定时任务其实也不是刚需,所以brpc中的定时任务接口设计的比较轻量化。...可以阅读这个官方issue: https://github.com/apache/incubator-brpc/issues/175 如图,戈君大神已经做出回复。...好在brpc也为你提供了工具函数butil::seconds_from_now()方便你做时间累加,和类型转换。 timespec是time.h中定义的数据结构。...= 0) {         cerr << "Fail to add service";         return -1;     }     brpc::ServerOptions options...RAII在无GC的C++语言中使用广泛,比如前面代码中的: brpc::ClosureGuard done_guard(done); C++标准库中还有std::lock_guard用以自动释放互斥锁

1.4K30

从0开始搭建编程框架——思考

所以我们不可能找到一项可以胜任所有场景的技术,于是“在一定的场景下,PHP是最好的语言”可能并不是一个笑话。        ...但是比较讽刺的是,他希望借此吸引C++程序员的愿望并没有达成,但是吸引力很多PHP或者Java语言栈的同学。        ...略掉中间过程,假设我们最终选定brpc作为网络框架(使用见《brpc介绍、编译与使用》)。现在就需要基于它来解决一些设计问题了,我们只以“多线程”这个问题为例。        ...而且目前场景下,有足够的时间来写一个超越brpc中使用的bthread的库么?         直接使用brpc中的bthread?不太好。...因为可以参见文档(https://github.com/brpc/brpc/blob/master/docs/cn/bthread.md),其中提到一句“你不应该直接调用bthread函数,把这些留给brpc

61610

一文快速了解Proxyless Service Mesh的进化

你会发现,bRpc可以用到哪些服务治理能力,决定因素在于Envoy和bRpc之间翻译出策略的多少。 也就是说,大部分Istio配置的能力其实是不能被bRpc直接使用的。...左边是Proxyless模式,Envoy负责把xds配置转换成bRpc能识别的配置,bRpc宿主在业务进程,从Envoy获取配置,并依照配置做流量转发。...右边是Proxy模式,Envoy负责把xds配置转换成bRpc能识别的配置,bRpc宿主在Envoy进程,从Envoy获取配置,并按配置实现流量的转发。...比如C++服务,可以与bRpc联编,实现Proxyless模式。 其他的非C++服务,比如Python、Php、Java等,可以无侵入的方式使用Proxy模式。...bRpc直接和Istio通信,获取到xds配置后进行转换。 Proxyless模式下,bRpc宿主在业务进程中,实现对请求的转发。

77810

一起玩转微服务(6)——通信协议如何统一

二、统一通信协议 关于通信协议,不同的公司有不同的选择,但是建议同一公司内部使用统一的通信协议,比较典型的有grpc和brpc。...其中 C 版本支持 C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C# 支持. grpc基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩...2. brpc 与grpc类似,brpc源自百度,目前支撑百度内部大约 75 万个同时在线的实例。 其实基于以上的几种选择都能够完成高效的开发,团队内部使用统一的标准,这样更有利于模块化和统一标准。...具体可以使用BRPC做如下 搭建能在一个端口支持多协议的服务, 或访问各种服务 Server能同步或异步处理请求 Client支持同步、异步、半同步,或使用组合channels简化复杂的分库或并发访问...通过http界面调试服务, 使用cpu, heap, contention profilers 获得更好的延时和吞吐 把你组织中使用的协议快速地加入brpc,或定制各类组件, 包括命名服务 (dns,

1.5K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券