穷则独善其身,达则兼济天下

工匠之心,技术狂热追求者,开源社区爱好者,一个记录成长的站点。

分类 系统架构 下的文章

云原生架构定义:12因素应用、微服务、自服务、API协作、抗脆弱性

一. 12因素应用12因素应用是一系列云原生应用架构的模式集合,最初由Heroku提出。这些模式可以用来说明什么样的应用才是云原生应用。它们关注速度、安全、通过声明式配置扩展、可横向扩展的无状态/无共享进程以及部署环境的整体松耦合。如Cloud Foundry、Heroku和Amazon ElasticBeanstalk都对部署12因素应用进行了专门的优化。在12因素的背景下,应用(或者叫a...

Redis6客户端缓存的相关设计

这篇文章翻译自Redis官方博客,这篇文章阐述了Redis6中将如何支持客户端缓存功能。纽约Redis一天结束了,我于5:30在酒店起床,仍然与意大利时区保持同步,并立即走在曼哈顿的街道上,完全爱上了风景和美好的生活感觉。 但是我在Redis 6发行版中的感觉是,可能是最重要的功能,即新版本的Redis协议(RESP3)的采用曲线将非常缓慢,这是有充分理由的: 明智的人会在没有充分理由的情况...

php-fpm的pool设置

LNMP架构——php-fpm的进程pool设置php-fpm的poolphp-fpm.conf可以设置多个pool,在其中一个pool资源耗尽,会导致其他站点无法访问资源,报502错误。有必要把站点进行分离,分别使用单独的pool。修改php-fpm配置文件代码新增一个pool代码设置# 文件地址:/usr/local/php-fpm/etc/php-fpm.conf # vim php-...
June 6, 2018

微服务:请求熔断原理

伴随微服务,出现了很多新鲜的名词,其实剥去外衣并没有那么高大上。今天要谈到的,叫做”熔断”,一个典型的开源实现是Hystrix(JAVA实现)。背景一个分布式系统中,服务间互相调用错综复杂,假设某个基础服务宕机,那么就会导致若干上游调用方出现访问超时,进而引起上游重试,导致宕机的基础服务遭受到数倍的流量放大,更加无法恢复服务。这种恶劣的情况并不会就此结束,上游因为调用基础服务超时而变慢,导致...