《微服务设计原则》
文章平均质量分 96
介绍微服务高可用、高性能、易维护、低风险的设计原则。
恋喵大鲤鱼
一条不止于编码的鱼。
展开
-
微服务设计原则——低风险
XSS(Cross Site Scripting)名为跨站脚本攻击,因其缩写会与层叠样式表(Cascading Style Sheets,CSS)混淆,故将其缩写为 XSS。XSS 漏洞是 Web 安全中最为常见的漏洞,通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页中,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是 JavaScript,但实际上也可以包括 Java、 VBScript、ActiveX、 Flash,甚至是普通的 HTML。原创 2024-03-26 12:57:29 · 1300 阅读 · 1 评论 -
微服务设计原则——高可用
,这些都是糟糕的建议。如果第三方接口响应时间都是 50ms 左右,那么线程都能很快处理完自己手中的活,并接着处理下一个请求,但不幸的是如果有一定比例的第三方接口响应时间为 2s,那么最后这 50 个线程都将被拖住,队列将会堆积大量请求,从而拖垮整服务。举个最简单的例子,那就是支付,用户购买商品后支付,支付扣款成功,但是返回结果时网络异常(超时成功),此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额发现多扣钱了,流水记录也变成了两条,这就没有保证接口的幂等性。原创 2024-03-24 00:48:15 · 713 阅读 · 0 评论 -
微服务设计原则
微服务是一种系统架构风格,是 SOA(面向服务架构)的一种实践。微服务架构通过业务拆分实现服务组件化,通过组件组合快速开发系统,业务单一的服务组件又可以独立部署,使得整个系统变得清晰灵活:一个大型复杂的软件应用,都可以拆分成多个微服务。各个微服务可被独立部署,各个微服务之间是松耦合的。所以现如今后台服务大部分以微服务的形式存在,每个微服务负责实现应用的一个功能模块。而微服务是由一个个接口组成,每个接口实现某个功能模块下的子功能。以一个 IM 应用为例,它的功能架构可能是下面这样的。所以如果是后台开发的同学原创 2021-04-12 20:53:53 · 3212 阅读 · 4 评论 -
微服务设计原则——高性能:缓存
(2)布隆过滤器:采用布隆过滤器将,将所有可能存在的数据哈希到一个足够大的 Bitmap 中,一个一定不存在的数据会被这个 Bitmap 拦截掉,从而避免了对底层数据库的查询压力。“劲酒虽好,不要贪杯”,使用缓存的目的是为了提高性价比,而不是一上来就为了所谓的提高性能不计成本的使用缓存,而是要看场景。缓存的数据集中在一台机器上,如共享内存。Size-based Eviction 策略通常适用于对缓存空间有严格限制的场景,可以根据缓存空间的大小和数据的大小来灵活选择要淘汰的项目,以实现最佳的缓存效果。原创 2024-03-13 18:27:58 · 1043 阅读 · 0 评论