0%

1. 前言

有些场景下,比如交易 K 线,我们需要前端对后端进行轮询来不断获取或者更新资源状态。轮询的问题毫无以为是一种笨重的方式,因为每一次 http 请求除了本身的资源信息传输外还有三次握手以及四次挥手。替代轮询的一种方案是复用一个 http 连接,更准确的复用同一个 tcp 连接。这种方式可以是 http 长连接,也可以是 websocket。

阅读全文 »

说到和动态库查找路径相关的问题,总体上可以分为两类:

  • 第一类:通过源代码编译程序时出现的找不到某个依赖包的问题
  • 第二类:就是在运行程序的时候,明明把那个程序需要的依赖包都已经安装的妥妥的了,可运行的时候人家就告诉你说error while loading shared libraries: libxxx.so.y: cannot open shared object file: No such file or directory
阅读全文 »

shadowsocks是我们常用的代理工具,它使用socks5协议,而终端很多工具目前只支持http和https等协议,对socks5协议支持不够好,所以我们为终端设置shadowsocks的思路就是将socks协议转换成http协议,然后为终端设置即可。

1. 设置终端代理

最新的 ShadowsocksX-NG 已经支持终端代理, 我们可以如下图复制得出:

1
export http_proxy=http://127.0.0.1:1087;export https_proxy=http://127.0.0.1:1087;
阅读全文 »

7. 更新消息类型

如果现有的消息类型不再满足您的所有需求 - 例如,您希望消息格式具有额外的字段 - 但您仍然希望使用使用旧格式创建的代码,请不要担心!在不破坏任何现有代码的情况下更新消息类型非常简单。请记住以下规则:

阅读全文 »

Protocol Buffer是Google的语言中立的,平台中立的,可扩展机制的,用于序列化结构化数据 - 对比XML,但更小,更快,更简单。您可以定义数据的结构化,然后可以使用特殊生成的源代码轻松地在各种数据流中使用各种语言编写和读取结构化数据。

阅读全文 »

1. grpc原理

1.1 通信方式

gRPC 允许你定义四类服务方法:

  1. 简单RPC(Simple RPC)

    即客户端发送一个请求给服务端,从服务端获取一个应答,就像一次普通的函数调用。

    1
    2
    rpc SayHello(HelloRequest) returns (HelloResponse){
    }
  2. 服务端流式RPC(Server-side streaming RPC):

    一个请求对象,服务端可以传回多个结果对象。即客户端发送一个请求给服务端,可获取一个数据流用来读取一系列消息。客户端从返回的数据流里一直读取直到没有更多消息为止。

    1
    2
    rpc LotsOfReplies(HelloRequest) returns (stream HelloResponse){
    }
  3. 客户端流式RPC(Client-side streaming RPC)

    客户端传入多个请求对象,服务端返回一个响应结果。即客户端用提供的一个数据流写入并发送一系列消息给服务端。一旦客户端完成消息写入,就等待服务端读取这些消息并返回应答。

    1
    2
    rpc LotsOfGreetings(stream HelloRequest) returns (HelloResponse) {
    }
  4. 双向流式RPC(Bidirectional streaming RPC)

    结合客户端流式rpc和服务端流式rpc,可以传入多个对象,返回多个响应对象。即两边都可以分别通过一个读写数据流来发送一系列消息。这两个数据流操作是相互独立的,所以客户端和服务端能按其希望的任意顺序读写。

    1
    2
    rpc BidiHello(stream HelloRequest) returns (stream HelloResponse){
    }
阅读全文 »

1. ansible 安装

在 ansible 的世界里,我们会通过 inventory 档案来定义有哪些 managed node (被控端),并借由 ssh 和 python 进行沟通。换句话说,当 control machine (主控端) 可以用 ssh 连上 managed node,且被连上的机器里有预载 python 时,ansile 就可以运作了.

  • 控制端
1
2
sudo apt install ansible #linux
brew install ansible # mac
  • 被控端

    要安装 python, 并且能被控制端 ssh

阅读全文 »

1. 基础

1.1 权限

1
2
3
4
[root@www /]# ls -l
total 64
dr-xr-xr-x 2 root root 4096 Dec 14 2012 bin
dr-xr-xr-x 4 root root 4096 Apr 19 2012 boot
阅读全文 »

1. 域名相关

hostnslookup,两者都可以有效地进行DNS查询。

1.1 host

host 命令是一个用于DNS(域名系统)查找的命令行工具。它可以用来查询域名的IP地址、查找域名的MX记录、NS记录等。以下是一些常见的用法示例:

阅读全文 »

记录一些 linux 常见的问题解决方案。

1. ssh 相关

1.1 用户加到 sudo 用户组

1
2
3
4
vi /etc/sudoers

# 可以看到有个 sudo 用户组
# %sudo ALL=(ALL:ALL) ALL
阅读全文 »