如何在Docker上构建符合12要素的微服务

原文地址:How to Build 12 Factor Microservices on Docker

原文由两部分构成,我和并处理了,并去掉原先两部分中间过渡的引语。文章有删减处理,有些地方确实拿捏不准,翻译可能南辕北辙,望见谅。最后感谢Google 翻译,完成了90%的翻译

随着企业持续从云计算上获得节约成本的好处,Devops团队正逐渐把他们的基础架构迁移到自服务平台。如何将应用设计成云原生和反脆弱成了至关重要的工作。在接下里的一系列文章里面,我们将研究用于应用设计的12要素方法论,以及怎样设计接口来和大部分流行的Pass提供者交互,以及演示怎么在Deis PaaS上运行一个微服务

NetfixHeroku等创新者的引领下,面向服务架构的数据中心正意识到在云上采用微服务的巨大潜力。Netfix是无可争议的第一个设计出可伸缩和反脆弱的应用,也就是有意引入chaos到他们的系统,他们的应用在面对错误时候变得更加稳定、弹性、优雅。同样通过帮助成千上万的客户在云上构建应用,Heroku提出一系列通用原则并将它描述成12要素方法论

阅读更多

几种找到php.ini文件的方法

查找php.ini文件所在路径几种方法:

1. 内置函数

phpinfo

phpinfo输出PHP当前状态的大量信息,包含了编译选项、启用的扩展、PHP 版本、服务器信息和环境变量(如果编译为一个模块的话)、PHP环境变量、操作系统版本信息、path 变量、配置选项的本地值和主值、HTTP 头和PHP授权信息(License)。包含所有 EGPCS(Environment, GET, POST, Cookie, Server) 数据

阅读更多

Debounce vs Throttle

DebounceThrottle是javascript中两种手段来控制函数的执行,特别是事件的处理。

当处理scroll,resize, keyup等事件时候,由于每秒触发的时间频次太多,不断的通过绑定回调函数来处理,会对浏览器造成巨大压力。这时候Debounce和Throttle就派上用场了。

Debounce

debounce强制函数某段时间只会执行一次,会把大量事件聚合在一次执行,哪怕它本来会被调用多次。

而throttle好比每隔15分钟一趟的电梯,过点不侯,debounce也每隔15分钟一趟,但当它看见有人要进来时候,它会允许进来,并从进来那一刻算起在等15分钟,如果15分钟内没有人进来了,就会开走。

阅读更多

长连接,RPC,RESTful乱弹

今天学习到很多知识,混混沌沌的大脑有时候就得需要轻敲一下,才能醍醐灌顶。

之前的对技术思考深度不够,涉及到东西浮于表面,蜻蜓点水而过。对于注意到不寻常现象,往往没有分析它的本质,思考现象本身原因就放过了。比如今天学习到RPC和Restful一个区别是RPC支持长连接,这对我之前对RPC的了解停留在客户端调用是无感知,无差别更深入本质了。

长连接

长连接(HTTP persistent connection)指的是在一个连接上可以持续不断的发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需 要双方发检测包以维持此连接。

keep-alive机制出现之前,每次http请求都会打开一个tcp socket连接,请求完成之后就断开这个tcp连接。keep-alive机制,能够保持TCP连接不断开(不发RST包、不四次握手),减少了tcp连接次数,提交了传输速率。但是长时间不释放tcp连接数,也会极大的造成资源浪费。实现成千上万人同时在线的话,也就得保持住同样数量的tcp连接数。keep-alive的timeout时间设置非常重要,能够及时的释放不需要的tcp连接。

阅读更多

23个开发工具加速网站性能

原文地址:23 Development Tools for Boosting Website Performance

When dealing with performance, it’s hard to remember all the tools that might help you out during development. For that purpose, we’ve compiled a list of 23 performance tools for your reference. Some you’ll have heard of, others probably not. Some have been covered in detail in our performance month, others are yet to be covered future articles; but all are very useful and should be part of your arsenal.

阅读更多

使用Robo自动生成Nginx虚拟主机配置

在开发过程中,我们有时候是基于一个框架的脚手架来开发。先clone下来项目,然后配置Nginx或Apache服务器里面的虚拟主机,映射到当前项目。这个虚拟主机的配置可以由程序自动生成。

流程如下:

  1. composer create-project tink/slim-skeleton:dev-master blog // 使用slim-skeleton创建blog项目
  2. cd blog // 切换到blog目录
  3. ngto park // 执行命令,配置虚拟主机。blog.local域名自动配置到当前blog项目。

阅读更多