包含标签 micro-service 的文章

微服务006 | istio初探

istio代表着一种工程实践,是一系列云原生基础设施工具集的集合。 认识istio之前,先了解下Service Mesh。Service Mesh 之所以被看好,主要有4个原因: 它是一个独立的进程,和业务是解耦的,对业务代码无侵入; 具备跨语言特性,Dubbo 和 Spring Cloud 其实都是 Java 技术栈,而 Service ………

阅读全文

微服务005 | 微服务的演进

不要为了微服务而微服务。本文通过一个例子带领大家从头到尾体验一下微服务的演化过程,不仅要做到知其然,更要做到知其所以然。 单体应用 假设我们正在开发一个在线购物项目,其主要功能包括商城、推荐、评论、用户等,它是一个典型的单体架构:不同团队的技术人员工作在同一个版本库上,系统功能按模块划分,不同模块之间通过本地函数调用,通常操作同一个数据 ………

阅读全文

微服务004 | 缓存设计

在整个计算机科学中,缓存的概念无处不在。很大程度上是硬件资源成本和收益关系决定的。比如现代CPU都内置了三级缓存,现代计算机常见的硬盘->高速SSD->内存等逐级存储介质等。 应用程序如果要处理大量并发请求,没有有效的数据缓存策略,基本上是扛不住的。 缓存雪崩、击穿和穿透 一般我们将数据放入数据库中落地管理(比如MySQL), ………

阅读全文

微服务003 | 熔断降级限流排队

微服务保护机制 熔断降级机制是对系统的防护,比如受到一些恶意攻击,那么需要熔断机制来保护系统的微服务,做出响应,避免资源被耗尽。既要能响应,又要能防护,当我们的请求达到一个负载阈值,就启用熔断,把真实接口关掉,给客户端请求一个响应,这个响应,我们可以设置。服务熔断就是对该服务的调用执行熔断,对应后续请求,不在继续调用该目标服务,而是直接返 ………

阅读全文

微服务002 | 限流算法

应用为什么要限流 由于 API 接口无法控制调用方的行为,因此当遇到瞬时请求量激增时,会导致接口占用过多服务器资源,使得其他请求响应速度降低或是超时,更有甚者可能导致服务器宕机。限流(Ratelimiting)指对应用服务的请求进行限制,例如某一接口的请求限制为 100 个每秒,对超过限制的请求则进行快速失败或丢弃。 限流可以应对: 热点 ………

阅读全文

微服务001 | 鉴权方案

从单体应用架构到分布式应用架构再到微服务架构,应用的安全访问在不断的经受考验。为了适应架构的变化、需求的变化,身份认证与鉴权方案也在不断的变革。面对数十个甚至上百个微服务之间的调用,如何保证高效安全的身份认证?面对外部的服务访问,该如何提供细粒度的鉴权方案? 四种鉴权方案 David Borsos 在伦敦的微服务大会上提出了四种方案,整理 ………

阅读全文

微服务000 | DevOps方法论

DevOps是什么呢? 有人说它是一种方法,也有人说它是一种工具,还有人说它是一种思想。更有甚者,说它是一种哲学。 说的有点玄乎,我们看看DevOps的维基百科定义是这样的: DevOps是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障(QA)部门之间的沟通、协作与整合。 软件工程方法论演变 一个软件从零开始到最终交付,大概 ………

阅读全文