2024年10月14日
无论是ELK、EFK还是Filebeat,都需要用到Elasticsearch来存储数据,而Elasticsearch维护难度和资源使用都是偏高的。所以一个更轻量的日志收集平台-Loki应运而生。Loki是Grafana Labs开源的一个支持水平扩展、高可用、多租户的日志聚合系统。 Loki简介 包含三个组件 Loki:主服务器,负责日 ………
阅读全文
2024年10月1日
istio代表着一种工程实践,是一系列云原生基础设施工具集的集合。 认识istio之前,先了解下Service Mesh。Service Mesh 之所以被看好,主要有4个原因: 它是一个独立的进程,和业务是解耦的,对业务代码无侵入; 具备跨语言特性,Dubbo 和 Spring Cloud 其实都是 Java 技术栈,而 Service ………
阅读全文
2024年9月30日
不要为了微服务而微服务。本文通过一个例子带领大家从头到尾体验一下微服务的演化过程,不仅要做到知其然,更要做到知其所以然。 单体应用 假设我们正在开发一个在线购物项目,其主要功能包括商城、推荐、评论、用户等,它是一个典型的单体架构:不同团队的技术人员工作在同一个版本库上,系统功能按模块划分,不同模块之间通过本地函数调用,通常操作同一个数据 ………
阅读全文
2022年4月8日
在整个计算机科学中,缓存的概念无处不在。很大程度上是硬件资源成本和收益关系决定的。比如现代CPU都内置了三级缓存,现代计算机常见的硬盘->高速SSD->内存等逐级存储介质等。 应用程序如果要处理大量并发请求,没有有效的数据缓存策略,基本上是扛不住的。 缓存雪崩、击穿和穿透 一般我们将数据放入数据库中落地管理(比如MySQL), ………
阅读全文
2021年11月26日
微服务保护机制 熔断降级机制是对系统的防护,比如受到一些恶意攻击,那么需要熔断机制来保护系统的微服务,做出响应,避免资源被耗尽。既要能响应,又要能防护,当我们的请求达到一个负载阈值,就启用熔断,把真实接口关掉,给客户端请求一个响应,这个响应,我们可以设置。服务熔断就是对该服务的调用执行熔断,对应后续请求,不在继续调用该目标服务,而是直接返 ………
阅读全文
2021年10月21日
应用为什么要限流 由于 API 接口无法控制调用方的行为,因此当遇到瞬时请求量激增时,会导致接口占用过多服务器资源,使得其他请求响应速度降低或是超时,更有甚者可能导致服务器宕机。限流(Ratelimiting)指对应用服务的请求进行限制,例如某一接口的请求限制为 100 个每秒,对超过限制的请求则进行快速失败或丢弃。 限流可以应对: 热点 ………
阅读全文
2021年7月19日
lazydocker lazydocker是一个TUI应用程序,可以帮助您在一个地方管理和监控所有的Docker容器。 安装:直接下载编译好的版本即可:https://github.com/jesseduffield/lazydocker 之后直接运行。 使用非常简单,下面看一些常用快捷键: Tab切换分类区域 ‘[’ 或 ‘]’ ………
阅读全文
2021年2月24日
从单体应用架构到分布式应用架构再到微服务架构,应用的安全访问在不断的经受考验。为了适应架构的变化、需求的变化,身份认证与鉴权方案也在不断的变革。面对数十个甚至上百个微服务之间的调用,如何保证高效安全的身份认证?面对外部的服务访问,该如何提供细粒度的鉴权方案? 四种鉴权方案 David Borsos 在伦敦的微服务大会上提出了四种方案,整理 ………
阅读全文
2021年1月31日
今天介绍微服务架构中的日志收集方案 ELK(ELK 是 Elasticsearch、Logstash、Kibana 的简称),准确的说是 ELKB,即 ELK + Filebeat,其中 Filebeat 是用于转发和集中日志数据的轻量级传送工具。 ELK虽然也可以用在很多其它领域,但典型的用法就是收集分析处理日志的组合工具。 日志系统 ………
阅读全文
2021年1月31日
今天介绍Prometheus+Grafana打造高逼格监控平台。看看如何使用Grafana和Prometheus以及node_exporter对Linux服务器性能进行监控。 其实很早的时候我自己就写过一套这样的系统:n-sentinel 。主要是用Node.js实现的。思路都差不多,总结一下就是下面三点: 需要在每台需要监控的服务器上启 ………
阅读全文