微服务与架构
文章平均质量分 86
wzz没bug
Hello World! Hello java!
展开
-
关于统一命名服务
转载:http://www.tuicool.com/articles/2eqAjqR命名服务,顾名思义,就是帮助我们对资源进行命名的服务,命名的目的当然是为了更好的定位了。这里所提到的资源在不同场景中包括但不限于计算机(主机)名和地址、应用提供的服务的地址或者远程对象等。本文主要介绍Java中的命名服务、简单的命名服务的实现策略以及在分布式场景中如何实现命名服务。JNDI转载 2017-02-05 17:31:27 · 3139 阅读 · 0 评论 -
Sentinel 使用(3)集群流控
一、为什么需要集群流控功能?假设我们希望给某个用户限制调用某个 API 的总 QPS 为 50,但机器数可能很多(比如有 100 台)。这时候我们很自然地就想到,找一个 server 专门用来统计总的调用量,其它的实例都与这台 server 通信以判断是否可以调用。这就是最基础的集群流控的方式。那么这个 server 如何部署呢?最直观的方式就是作为独立的 token server 进程启...转载 2019-01-14 15:00:24 · 4044 阅读 · 0 评论 -
Sentinel 使用(2)规则配置
1. 流量控制规则 (FlowRule)重要属性:Field 说明 默认值 resource 资源名,资源名是限流规则的作用对象 count 限流阈值 grade 限流阈值类型,QPS 或线程数模式 QPS 模式 limitApp 流控针对的调用来源 default,代表不区分调用来源 strategy...原创 2019-01-11 17:07:46 · 3478 阅读 · 0 评论 -
Sentinel 使用(1)基本使用
1. 简述Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等 Sentinel 分为两个部分:核心库(Java 客户端)不依赖任何框架/库,能够运行于所有 Java 运行时环境,同时对 Dubbo / Spring Cloud 等框架也有较好的支持。 ...原创 2019-01-10 16:33:57 · 10138 阅读 · 1 评论 -
在高并发的核心技术中如何实现幂等性
实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果。例如:1. 前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果。2. 我们发起一笔付款请求,应该只扣用户账户一次钱,当遇到网络重发或系统bug重发,也应该只扣一次钱;3. 发送消息,也应该只发一次,同样的短信发给用户,用户会崩溃;4. 创建业务订单,一次业务请求只能创建一个,创建多个就会出...转载 2018-10-12 15:48:46 · 511 阅读 · 0 评论 -
分布式架构的基本思想汇总
在互联网大行其道的今天,各种分布式系统已经司空见惯。搜索引擎、电商网站、微博、微信、O2O平台。。凡是涉及到大规模用户、高并发访问的,无一不是分布式。关于分布式系统,并没有一个标准答案,说某某架构一定是最好的。不同的业务形态所面对的挑战不一样,使用的架构设计也不一样,通常都需要具体业务具体分析。但不管那种业务,不管何种分布式系统,有一些基本的思想还是相通的。本文将对这些基本思想进行一个梳理汇总。分...转载 2018-05-25 11:57:59 · 2437 阅读 · 0 评论 -
ID生成方案
1. 自增型id1. 优点InnoDB 使用两种索引来组织数据,Clustered Index 和 Second Index Clustered Index 与 主键有千丝万缕的关系,可以简单认为是相等关系,数据存储会按照主键来进行排序。如果在建表的时候不提供主键,InnoDB 会自动生成一个主键,这个主键是字符式的,所以当有新数据进来的时候,原先的排序会被打乱,中间的开销会原创 2017-11-24 14:37:32 · 3550 阅读 · 0 评论 -
你的解耦战术,决定了架构高度!
转自:http://developer.51cto.com/art/201711/557827.htm架构设计中,大家都不喜欢耦合,但有哪些典型的耦合是我们系统架构设计中经常出现的,又该如何优化?这里列举了 6 个点:IP、jar 包、数据库、服务、消息、扩容。这些点,如果设计不慎,都会导致系统出现一些耦合问题,基本都是大家实际遇到的痛点。本文将与大家分享如何用常见原创 2017-11-22 12:06:07 · 3724 阅读 · 0 评论 -
大型互联网架构
转自:http://www.cnblogs.com/likehua/p/3796809.html大型互联网架构解决问题的通用思路是将分而治之(divide-and-conquer),将大问题分为若干个小问题,各个击破。在大型互联网的架构实践中,无一不体现这种思想。架构目标低成本:任何公司存在的价值都是为了获取商业利益。在可能的情况下,希望一切都是低成本的。高性能转载 2017-03-28 12:00:33 · 503 阅读 · 0 评论 -
微服务
一、微服务化的基石:持续集成二、静态资源分离与接入层设计三、应用层设计之无状态化与容器化四、应用层设计之服务的拆分,发现与编排五、性能优化之数据库设计与横向扩展六、性能优化之缓存的设计与横向扩层七、性能优化之消息队列与异步化设计八、服务的编断,降级,限流设计九、配置中心的设计与实践十、统一日志中心的设计与实践十一、全质路应用监控实践十二、服务的全战路压测实践...原创 2019-02-16 10:22:08 · 209 阅读 · 0 评论