Posts

Amazon EC2 networking doesn’t allow to use private ips in the containers

through bridges or macvlan. Dedicating a network interface to a

container makes it directly unreachable from the host.

docker network create -d macvlan --subnet 172.30.80.0/20 --gateway 172.30.80.1 -o parent=eth0 pub_net


docker run -d --network pub_net --ip 172.30.80.10 busybox

Understanding Real-World Concurrency Bugs in Go

https://songlh.github.io/paper/go-study.pdf

高效编程

准备

  • 搭建测试环境

可以参考从源代码构件K8S开发环境

准备 初始化 draft init ... Installing default plugins... Preparing to install into /home/bigo/.draft/plugins/draft-pack-repo draft-pack-repo installed into /home/bigo/.draft/plugins/draft-pack-repo/draft-pack-repo Installed plugin: pack-repo Installation of default plugins complete Installing default pack repositories... Installing pack repo from https://github.com/Azure/draft Installed pack repository github.com/Azure/draft Installation of default pack repositories complete $DRAFT_HOME has been configured at /home/bigo/.draft. ... 设置docker镜像寄存器 draft config set registry registry.cn-beijing.aliyuncs.com/k4s or skip the push process entirely using the –skip-image-push flag

PersistentVolume A PersistentVolume (PV) is a piece of storage in the cluster that has been manually provisioned by an administrator, or dynamically provisioned by Kubernetes using a StorageClass. Many cluster environments have a default StorageClass installed. When a StorageClass is not specified in the PersistentVolumeClaim, the cluster’s default StorageClass is used instead Local volumes can only be used as a statically created PersistentVolume. Dynamic provisioning is not supported yet

如果xml文件带有名字空间,XPATH支持 还不够完善。下面介绍两种可以工作的方式 namespace for XML documents http.get("https://wubigo.com/en/sitemap.xml", function(res) { useNamespaces const select = xpath.useNamespaces({"ns0": "http://www.sitemaps.org/schemas/sitemap/0.9"}); const nodes = select("//ns0:loc", doc); nodes.forEach((value) => console.log("ns0:"+value)); Implementing a Default Namespace Resolver const nsResolver = function nsResolver(prefix) { const ns = { 'ns0' : 'http://www.sitemaps.org/schemas/sitemap/0.9', 'mathml': 'http://www.w3.org/1998/Math/MathML' }; return ns[prefix] || null; }; nsResolver.lookupNamespaceURI = nsResolver; var result = xpath.evaluate( "//ns0:loc", // xpathExpression doc, // contextNode nsResolver, // namespaceResolver xpath.XPathResult.ANY_TYPE, // resultType null // result ) node = result.

在windows上搭建Leveldb的开发环境 Leveldb使用了checkstyle https://github.com/wubigo/leveldb/blob/master/src/checkstyle/checks.xml <module name="RegexpMultiline"> <property name="format" value="\r"/> <property name="message" value="Line contains carriage return"/> </module> 使用git默认设置拣出代码的时候,换行设置编译的时候会报错如下 [ERROR] src\main\java\org\iq80\leveldb\WriteOptions.java:[6] (regexp) RegexpMultiline: Line contains carriage return [ERROR] src\main\java\org\iq80\leveldb\WriteOptions.java:[7] (regexp) RegexpMultiline: Line contains carriage return 解决办法之一是调整git换行设置 git换行设置(line endings) 换行设置的3个选项: Checkout Windows-style, commit Unix-style Git will convert LF to CRLF when checking out text files. When committing text files, CRLF will be converted to LF. For cross-platform projects, this is the recommended setting on Windows (“core.

表分区 主键=((分区键) + [簇键]) create table kvstor ( k_part_one text, k_part_two int, k_clust_one text, k_clust_two int, k_clust_three uuid, data text, PRIMARY KEY((k_part_one, k_part_two), k_clust_one, k_clust_two, k_clust_three) ); 分区键 分区键决定数据在集群内的分布在哪个分区 簇键 簇建决定数据的在分区内的排列顺序 Cassandra DB 主要缺点 Cassandra has big issue with Data Read Latency Hard to tune-up for both latency and throughput Highly depended on Work load and type Max 20 % P99 latency drop Most memory consumed by storage engine To store huge amount of data, JVM is required to manage the memory to clean up garbage collection that is not done by the application but by a language in Cassandra Cassandra is not recommended if you have following use cases :

问题

长链接

通过连接池和数据库保持长链接

Amazon Aurora Serverless is an on-demand, auto-scaling configuration for Amazon Aurora (MySQL-compatible and PostgreSQL-compatible editions), where the database will automatically start up, shut down, and scale capacity up or down based on your application’s needs. It enables you to run your database in the cloud without managing any database instances. It’s a simple, cost-effective option for infrequent, intermittent, or unpredictable workloads.

webpack-simple Webpack is a module bundler for Javascript applications, it starts at the entrypoint and then build a dependency graph of the whole application, pulling those dependencies into one or more bundles that can be included in application. It supports multiple different file types through loaders, loaders will take files that have no concept of modules (e.g. css) and process them in a way that allows them to participate

Understanding Dynamic Routing between Capsules

https://jhui.github.io/2017/11/03/Dynamic-Routing-Between-Capsules/

Serverless Architectures

https://www.amazon.com/dp/1617293822/ref=rdr_ext_tmb

ISBN-10: 1617293822

Linux Bridge supported GRE Tunnels, but not the newer and more scalable VXLAN model https://vincent.bernat.ch/en/blog/2017-vxlan-linux

This post will talk

about the various building blocks available to speed up packet processing

both hardware based e.g.SR-IOV, RDT, QAT, VMDq, VTD

and software based e.g. DPDK, Fd.io/VPP, OVS etc and give

hands on lab experience

https://www.telcocloudbridge.com/blog/dpdk-vs-sr-iov-for-nfv-why-a-wrong-decision-can-impact-performance/

EMQX单节点吞吐量 EMQX 5.0 23个节点的集群支持:(100 million MQTT连接 + 1 million message)每秒 每个节点的吞吐量为4万每秒 The dispersed nature of the Internet of Things (IoT) presents a major operational challenge that is uncommon in the traditional Internet or enterprise networks[5]. Devices that are managed together — say a fleet of railcars — are not physically colocated. Instead, they are widely geographically distributed. The operational approaches for management and security used in enterprise networks, where most hosts are densely contained in buildings or campuses, do not translate to the IoT.

VPC之间的连接方式

  • 专线

  • VPN托管服务

  • VPN Peering

  • 自建或第三方VPN

  • PrivateLink

VPC与私有网络之间的连接方式

  • VPN托管服务

  • 专线

  • 专线+VPN

  • 自建或第三方VPN

  • Transit VPC

  • VPN Hub

邮枪Concept plan(免费用户并增加一张信用卡)额度介绍

  • 每月免费发送1万封邮件,超过1万封的邮件开始收费,$0.5//1000封
  • 接收邮件免费
  • 支持一千个定制域名
  • 可以向任何邮箱地址发送而不用授权

创建发送账号

接收邮件

邮枪Concept plan(免费用户并增加一张信用卡)额度介绍

  • 每月免费发送1万封邮件,超过1万封的邮件开始收费,$0.5//1000封
  • 接收邮件免费
  • 支持一千个定制域名
  • 可以向任何邮箱地址发送而不用授权

创建发送账号

接收邮件

邮枪Concept plan(免费用户并增加一张信用卡)额度介绍

  • 每月免费发送1万封邮件,超过1万封的邮件开始收费,$0.5//1000封
  • 接收邮件免费
  • 支持一千个定制域名
  • 可以向任何邮箱地址发送而不用授权

创建发送账号

接收邮件

邮枪Concept plan(免费用户并增加一张信用卡)额度介绍

  • 每月免费发送1万封邮件,超过1万封的邮件开始收费,$0.5//1000封
  • 接收邮件免费
  • 支持一千个定制域名
  • 可以向任何邮箱地址发送而不用授权

创建发送账号

接收邮件