Secrets

Kubernetes secrets by example You don’t want sensitive information such as a database password or an API key kept around in clear text. Secrets provide you with a mechanism to use such information in a safe and reliable way with the following... Read More | Share it now!

Cross-Compiling Golang …

Compiling your go code into a binary is pretty simple: This will build the binary for your current OS and architecture. But compiling binaries for other operating systems and even architectures is also possible. You just need to modify a few... Read More | Share it now!

golang解析json格式 — 全

项目中客户端和服务端的交互数据部分为json,因此在服务端就得解析,复杂的json解析起来其实还是挺费劲的。 交互的数据类似如下格式: 需要将json格式中的w字段取出来,并且拼成结果串进行展示 从json数组中获取ws ws是数组,数组元素为object cw是数组,数组元素为object w是string 从cw遍历获取w字段 初步实现如下: 这样实现,一层一层去转换类型,再去获取元素有点麻烦。既然是已知的json数据结构,那么可以定义好结构体,再去进行解析。 注意定义的时候变量名第一个字母要大写,也可以使用工具来自动生成定义https://mholt.github.io/json-to-go/;用工具生成的挺漂亮: 上面的元素有json:"sn"强制说明,因此如果只需获取对应的元素,其他元素不定义也是可以的。另外还有一种数据就是数组当中的元素还是数组,并且最后数组包含的是number或者string类型,需要再重写一个函数才行,数据如下,获取当中的元素 搜索到一段代码如下,重新实现了UnmarshalJSON ... Read More | Share it now!

Nginx限制访问速率和最大并发连接数模块–limit (防止DDOS攻击)

Tengine版本采用http_limit_req_module进行限制 具体连接请参考 http://tengine.taobao.org/document_cn/http_limit_req_cn.html 和官方nginx类似,不过支持多个变量,并且支持多个limit_req_zone的设置。比如: limit_req_zone... Read More | Share it now!

Start/Stop Compute Engine Instance from Cloud function

https://medium.com/google-cloud/start-stop-compute-engine-instance-from-cloud-function-bf9ae5199609 I design a web service that will running on Google Compute Engine to do some long-time data processing task. The data will be stored at Cloud Storage... Read More | Share it now!

关于大内存页面 transparent_hugepage

Transparent Huge Pages (THP) are enabled by default in RHEL 6 for all applications. The kernel attempts to allocate hugepages whenever possible and any Linux process will receive 2MB pages if the mmap region is 2MB naturally aligned. The main kernel... Read More | Share it now!

python使用MySQLdb模块连接MySQL

python使用MySQLdb模块连接MySQL 1.安装驱动 目前有两个MySQL的驱动,我们可以选择其中一个进行安装: MySQL-python:是封装了MySQL... Read More | Share it now!

消息中间件—RabbitMQ(集群原理与搭建篇)

摘要:实际生产应用中都会采用消息队列的集群方案,如果选择RabbitMQ那么有必要了解下它的集群方案原理一般来说,如果只是为了学习RabbitMQ或者验证业务工程的正确性那么在本地环境或者测试环境上使用其单实例部署就可以了,但是出于MQ中间件本身的可靠性、并发性、吞吐量和消息堆积能力等问题的考虑,在生产环境上一般都会考虑使用RabbitMQ的集群方案。对于RabbitMQ这么成熟的消息队列产品来说,搭建它并不难并且也有不少童鞋写过如何搭建RabbitMQ消息队列集群的博文,但可能仍然有童鞋并不了解其背后的原理,这会导致其遇到性能问题时无法对集群进行进一步的调优。本篇主要介绍RabbitMQ集群方案的原理,如何搭建具备负载均衡能力的中小规模RabbitMQ集群,并最后给出生产环境构建一个能够具备高可用、高可靠和高吞吐量的中小规模RabbitMQ集群设计方案。 一、RabbitMQ集群方案的原理 RabbitMQ这款消息队列中间件产品本身是基于Erlang编写,Erlang语言天生具备分布式特性(通过同步Erlang集群各节点的magic... Read More | Share it now!