存档

作者存档

gRPC+Nginx试用

2020年8月23日 没有评论 256 次浏览

一,测试环境 $ cat /etc/issue Ubuntu 18.04.3 LTS \n \l $ uname -a Linux lenky-virtual-machine 5.0.0-27-generic #28~18.04.1-Ubuntu SMP Thu Aug 22 03:00:32 UTC 2019 x86_64 x86_64 x86_64... [阅读更多]

推荐两篇架构设计文章

2020年6月13日 没有评论 1,164 次浏览

万字长文:以业务为核心的云原生体系建设 https://mp.weixin.qq.com/s?__biz=MzU0NDEyODkzMQ==&mid=2247500999&idx=1&sn=7a78407b3e80a5e900f4a4fccc8c44f8&scene=21#wechat_redirect 从1到2000个微服务,史上最落地的实践云原生25个步骤 https://mp.weixin.qq.com/s/C_RHS9Ma84LhVvVgNbNZAw ... [阅读更多]

分类: 架构设计 标签:

C/C++调Go函数

2020年6月2日 没有评论 719 次浏览

C/C++调Go函数 https://stackoverflow.com/questions/6125683/call-go-functions-from-c https://medium.com/learning-the-go-programming-language/calling-go-functions-from-other-languages-4c7d8bcc69bf C/C++调用Golang 一... [阅读更多]

分类: *nix应用编程 标签:

Prometheus试用

2020年5月26日 没有评论 901 次浏览

之前提到Netdata是一款不错的Linux实时监测工具,而本文提到的Prometheus是由谷歌研发的一款开源的监控软件,采用Go语言开发,使用者众多,据说很牛掰。 一,测试环境 $ cat /etc/issue Ubuntu 18.04.3... [阅读更多]

分类: *nix技术 标签: ,

Go语言插件化设计

2020年5月24日 没有评论 785 次浏览

利用dlopen/dlsym/dlclose等接口可以在C语言程序中实现模块动态加载功能,Nginx就有这样的实现。在Go v1.8版本之前,可以利用一些开源项目来实现类似的功能(见参考链接),但在Go... [阅读更多]

分类: *nix技术, 架构设计 标签: ,

Netdata试用

2020年5月24日 没有评论 405 次浏览

Netdata是一款不错的Linux实时监测工具,可以用来检测性能,也可以用来检测健康状态,具备Web形式的可视化展示界面。 当然,最重要的点是Netdata程序核心采用C语言编写,因此效率高,资源占用也相对较少。还有一些其他特性,请参考github链接。不过值得注意的是,Netdata是GPL授权,所以需要考虑下版权影响。 下面直接在Ubuntu测试环境里试用下Netdata。 一,测试环境 $... [阅读更多]

分类: *nix技术 标签:

系统可靠性怎么做?

2020年5月24日 没有评论 692 次浏览

一个复杂单机系统的可靠性如何做?抛去各种理论不谈,最常用的手段之一就是采用Watchdog/Monitor机制来进行实时监控。如果是多机系统,那么通常的整体可靠性做法就是HA了。 对于单个Watchdog机制而言,可以参考Android的Watchdog设计。 Android中的软件Watchdog:https://blog.csdn.net/jinzhuojun/article/details/46552397 Android... [阅读更多]

API网关apisix试用

2020年5月17日 没有评论 1,445 次浏览

API网关有什么作用? 路由:根据上下文或消息内容将请求发送到不同的目的地(可能需要借助Service... [阅读更多]

多活架构设计资料(网络收集)

2020年5月15日 没有评论 790 次浏览

一,设计多活架构思考 1,异地多活高可用架构设计实践与思考 https://blog.csdn.net/jiankunking/article/details/86654181 2,异地多活设计辣么难?其实是你想多了! https://yq.aliyun.com/articles/57715 3,面向业务的立体化高可用架构设计 https://wenku.baidu.com/view/6dac880d48649b6648d7c1c708a1284ac9500557.html 4,异地多活架构 https://blog.csdn.net/suifeng629/article/details/89326048 5,28... [阅读更多]

cmux端口多路复用

2020年5月10日 没有评论 869 次浏览

最近若有空就在时不时的翻看rpcx源码,期间看到一个有趣的工程: https://github.com/soheilhy/cmux 为什么说它有趣,因为在产品里也有实现过类似的功能,即端口多路复用功能,也就是说可以在同一个端口(比如tcp:8881端口),监听多个不同服务(比如SSH和HTTPS等),这带来的直接好处就是减少了对外开放端口个数,对安全、运维、管理来说都是有益的。 原理也简单,主要是特征匹配和文件描述符传递。首先,启动各个业务服务。然后,启动代理程序proxy并监听指定的端口(比如tcp:8881)。当连接过来后,代理程序proxy会对连接首包进行特征匹配,根据匹配结果将accept到的文件描述符传递到对应的业务服务。至此,后续该连接上的数据发送就直接由业务服务处理,不再经过proxy。可以看到,如果是长连接,在性能上的损耗并不大,因为只有首包要经过proxy。cmux属于这种方案。 还有一种方式是,所有数据都经过proxy,由proxy负责转发,也就是所谓的反向代理,此时可以在proxy里做一些通用的认证,安全检测等功能,但会有性能瓶颈的风险。 Over~ 参考: 1,https://github.com/soheilhy/cmux 2,https://www.sohu.com/a/341135783_657921 ... [阅读更多]