![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
微服务
乔志勇笔记
java学习新天地
展开
-
如何做高可用的架构设计
https://juejin.im/post/59365121570c35005b6816af谢东升Forest2017 年 06 月 06 日如何做高可用的架构设计本篇的题目其实比较大,所以在写的时候,我其实是有些“惶恐”的,怕这篇完成后有标题档的嫌疑。不过为了将自己过去多年的经历和最近1年改造架构的想法,做一个阶段性总结,还是有必要好好写一写转载 2018-03-28 16:41:57 · 5175 阅读 · 0 评论 -
SpringBoot中REST API的错误异常处理设计
https://www.jdon.com/49621RESTful API中的异常Exception处理有两个基本要求,需要明确业务意义的错误消息以及hhtp状态码。良好的错误消息能够让API客户端纠正问题。在本文中,我们将讨论并实现Spring的REST API异常处理。Restful API错误/异常设计在RESTful API中设计异常处理时,最好在响应中设置HTTP状态代码,这样可以...转载 2018-08-07 10:12:13 · 2316 阅读 · 1 评论 -
在建立优步大型支付系统过程中学到的分布式架构概念
https://www.jdon.com/49411建议读原文章这是优步Uber员工Gergely Orosz自己的经验分享:两年前我加入了优步,担任移动软件工程师,有一些后端经验,我构建了带有支付功能的应用程序 - 并在后来重写了它。之后,我就晋升工程管理并领导了一个团队。这意味着需要接触更多的后端,因为我的团队负责支持支付的许多后端系统。在优步工作之前,我几乎没有分布式系统经验。我...转载 2018-08-07 18:01:14 · 517 阅读 · 0 评论 -
划分微服务边界的5个特征
https://www.jdon.com/49426你的微服务是否太小?或者太紧密耦合?本设计指南可以提供帮助。设计微服务往往更像是一门艺术而不是科学。本文提出五个建议:1.它不会与其他服务共享数据库表2.它拥有最少量的数据库表3.它设计为有状态的或无状态的4.其数据可用性需求5.这是真相的唯一来源避免任意规则在设计和创建微服务时,不要陷入使用任意规则的陷阱。如果你阅读了足够多的...转载 2018-08-08 10:37:28 · 9393 阅读 · 2 评论 -
分布式系统的弹性设计
https://www.jdon.com/49382在讨论分布式系统的弹性之前,让我们快速回顾一些基本术语:弹性Resiliency:任何系统从困难中恢复的能力,(banq注:弹性也就是适应能力)。分布式系统:一些网络组件通过传递消息来完成一个共同目标。可用性:任何系统在任何时间点保持正常运行的可能性。故障与故障:故障Fault是您的系统中是不正确的内部状态。系统中一些常见的故障例子包...转载 2018-08-08 11:28:34 · 2033 阅读 · 0 评论 -
微服务架构的故障隔离及容错处理机制
本文首先介绍微服务架构存在的风险,然后针对如何避免微服务架构的故障,提出了多种有效的微服务架构中的方法和技术,其中例如服务降级、变更管理、健康检查和修复、断路器、限流器等。目录1、微服务架构的风险2、优雅的服务降级3、变更管理4、健康检查和负载均衡5、自我修复6、故障转移缓存(Failover Caching)7、重试逻辑(Retry Logic)8、限流器和负...转载 2018-09-10 14:14:27 · 1693 阅读 · 0 评论 -
spring cloud 基础系列文章 (github代码示例)
github连接https://github.com/qiaozhiyong/spring cloud : 一、服务的注册与发现https://blog.csdn.net/fox9916/article/details/79469033spring cloud: 二、服务的消费(ribbon和feign两种方式)https://blog.csdn.net/fox9916/art...原创 2018-09-21 14:39:58 · 1800 阅读 · 0 评论 -
微服务架构如何保障双11狂欢下的99.99%高可用
https://mp.weixin.qq.com/s/lBeQSSPX7OeWO6SmWYf1Mg目录一、概述二、业务场景介绍三、线上经验 _ 如何设置Hystrix线程池大小四、线上经验 _ 如何设置请求超时时间五、服务降级六、总结 一、概述 上一篇文章讲了一个朋友公司使用Spring Cloud架构遇到问题的一个真实案例,虽然不是什么大的技术问题,但...转载 2018-11-16 13:49:08 · 596 阅读 · 0 评论 -
拜托!面试请不要再问我Spring Cloud底层原理
https://mp.weixin.qq.com/s?__biz=MzU0OTk3ODQ3Ng==&mid=2247483712&idx=1&sn=4cd88761830428a2e485ac4c2cf120f9&chksm=fba6e943ccd16055344222ce9c794358e1a4a84fdf4263eaa7c91e9756597bd06e49f9b...转载 2018-11-16 13:50:15 · 426 阅读 · 0 评论 -
性能优化之道】每秒上万并发下的Spring Cloud参数优化实战
https://mp.weixin.qq.com/s?__biz=MzU0OTk3ODQ3Ng==&mid=2247483777&idx=1&sn=f144ee415bb743f5422314907fc7d819&chksm=fba6e982ccd160945aa5c53434e933e2f03e89d9faf634f0b573c1f7b6f4d6d2635cad0...转载 2018-11-16 13:51:48 · 4155 阅读 · 0 评论 -
双11狂欢的背后】微服务注册中心如何承载大型系统的千万级访问?
https://mp.weixin.qq.com/s?__biz=MzU0OTk3ODQ3Ng==&mid=2247483759&idx=1&sn=7e6575861a779711a5ef5f27b8e088e4&chksm=fba6e96cccd1607a709c1437eb0b92df703b8d8eac466205798618480abf600b67f0327...转载 2018-11-16 13:55:52 · 790 阅读 · 0 评论 -
架构设计之「服务限流」
https://mp.weixin.qq.com/s/G3Pt-rpQ9feUU6h_usa8Fw上一篇我们聊过了架构设计中的「服务隔离」模式,今天我们继续来探索一下在分布式系统架构中的另一个常用的设计:服务限流。那么,什么是「服务限流」呢?在解释「服务限流」之前,我们来看一下前些时间网上很火的一个段子,说的是新浪微博的一名工程师正在家里办婚礼,突然接到公司的电话要紧急处理线上流量激增的...转载 2018-11-16 16:20:46 · 306 阅读 · 0 评论 -
支付系统如何进行分布式改造
https://mp.weixin.qq.com/s/9M3h7PhlosuRSMHFx_FbqA传统支付系统面临的挑战 随着近年来移动支付的兴起 ,如条码支付、声波支付、NFC 近场支付等,随之还产生了聚合支付把多种支付方式聚合在一起,方便人们的使用,移动支付已经渗透到我们生活的每一个角落,不带钱包出门已经没有任何阻碍。这就给传统的支付系统提出了新的挑战,用户量激增,系统容量和性能跟...转载 2019-01-28 15:10:13 · 469 阅读 · 0 评论 -
消费者驱动的微服务契约测试套件:Spring Cloud Contract
在微服务架构下,你的服务可能由不同的团队提供和维护,在这种情况下,接口的开发和维护可能会带来一些问题,比如服务端调整架构或接口调整而对消费者不透明,导致接口调用失败。为解决这些问题,Ian Robinson提出了一个以服务消费者定义契约为驱动的开发模式:“Consumer-Driver Contracts(CDC)”,就是:消费者驱动契约。通常我们开发中主要由服务提供方约定接口,虽然提供方...转载 2018-08-14 10:53:45 · 672 阅读 · 0 评论 -
无状态服务VS有状态服务
https://blog.csdn.net/u010472499/article/details/53888480在网易蜂巢的服务管理中存在两种服务:无状态服务和有状态服务。无状态服务(Stateless Service): 是指该服务运行的实例不会在本地存储需要持久化的数据,并且多个实例对于同一个请求响应的结果是完全一致的。这类服务在网易蜂巢云平台创建后,借助k8s内部的负载均衡,当访...转载 2018-08-06 09:47:57 · 1687 阅读 · 0 评论 -
JSON Web Token 入门教程
http://www.ruanyifeng.com/blog/2018/07/json_web_token-tutorial.html?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.ioJSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案,本文介绍它的原理和用法。一、跨域认证的问题...转载 2018-07-24 11:29:07 · 292 阅读 · 0 评论 -
大型网站架构设计
网站架构的演化1,原始时代,一台服务器解决所有,经典的LAMP,廉价服务器+开源软件,网站就建起来了。→ 等到访问量越来越大,数据存储空间吃紧了,所以。。。2,使用三台服务器,应用,文件,数据库分开。应用服务器加CPU,文件服务器加大容量硬盘,数据库服务器用更贵更快的硬盘。→ 80%的访问集中在20%的数据上,成为瓶颈3,应用服务器加本地缓存。→ 本地缓存和应用争内存4,加远程独立服务器放缓存,再...转载 2018-03-28 16:58:57 · 385 阅读 · 0 评论 -
服务都微了,编排怎么整?
http://geek.csdn.net/news/detail/200862目录:1. 编制、编排傻傻分不清楚2. “编排”的关键在于流程+适配3. “编排”中的分布式事务应满足最终一致性4. “编排”需要更友好的运维工具支撑相对于传统架构,微服务架构下更需要通过各微服务之间的协作来实现一个完整的业务流程,可以说服务编排是微服务架构下的必备技能。但是,编排涉及到RPC、分布式事...转载 2018-05-03 16:13:37 · 892 阅读 · 0 评论 -
微服务架构下的数据一致性保证(一)
此系列文章共分为三篇,第一篇介绍概念和相关模式,第二篇和第三篇针对第一篇给出的三种模式分别介绍实现方法和需要注意的问题,敬请关注此公众号。转载本文需注明出处:EAII企业架构创新研究院,违者必究。如需加入微信群参与微服务架构下的数据一致性保证(二)、(三)微课堂直播请直接回复此公众号:“加群 姓名 公司 职位 微信号”。大家好,今天我给大家分享的题目是微服务架构下的数据一致性保证。今天分享第一篇,...转载 2018-05-03 16:18:51 · 347 阅读 · 0 评论 -
微服务架构下的数据一致性保证(二)
https://mp.csdn.net/postedit转载本文需注明出处:EAII企业架构创新研究院,违者必究。如需加入微信群参与微课堂、架构设计与讨论直播请直接回复此公众号:“加群 姓名 公司 职位 微信号”。· · ·大家好,今天是第二次在这里给大家分享数据一致性的话题,在第一篇分享中我们介绍了微服务架构下应该满足数据最终一致性原则,并介绍实现最终一致性3种模式。本文是系列分享的第二篇,讲述...转载 2018-05-03 16:19:42 · 332 阅读 · 0 评论 -
微服务架构下的数据一致性保证(三):补偿模式
https://mp.weixin.qq.com/s/U5Ay6szci_gcCFjcpqfOmg转载本文需注明出处:EAII企业架构创新研究院,违者必究。如需加入微信群参与微课堂、架构设计与讨论直播请直接回复此公众号:“加群 姓名 公司 职位 微信号”。『微信后台回复“一致性”,获取系列完整PPT下载』· · ·大家好今天分享的还是关于微服务架构下的数据一致性保证的话题,是数据一致性系列分享的第...转载 2018-05-03 16:20:30 · 904 阅读 · 0 评论 -
大话程序猿眼里的高并发架构
前言高并发经常会发生在有大活跃用户量,用户高聚集的业务场景中,如:秒杀活动,定时领取红包等。为了让业务可以流畅的运行并且给用户一个好的交互体验,我们需要根据业务场景预估达到的并发量等因素,来设计适合自己业务场景的高并发处理方案。在电商相关产品开发的这些年,我有幸的遇到了并发下的各种坑,这一路摸爬滚打过来有着不少的血泪史,这里进行的总结,作为自己的归档记录,同时分享给大家。服务器架构业务从发展的初期...转载 2018-05-10 15:49:57 · 259 阅读 · 0 评论 -
大话程序猿眼里的高并发
高并发是指在同一个时间点,有很多用户同时的访问URL地址,比如:淘宝的双11,双12,就会产生高并发,如贴吧的爆吧,就是恶意的高并发请求,也就是DDOS攻击,再屌丝点的说法就像玩撸啊撸被ADC暴击了一样,那伤害你懂得(如果你看懂了,这个说法说明是正在奔向人生巅峰的屌丝。高并发会来带的后果服务端:导致站点服务器/DB服务器资源被占满崩溃,数据的存储和更新结果和理想的设计是不一样的,比如:出现重复的数...转载 2018-05-10 16:26:55 · 246 阅读 · 0 评论 -
大话Redis进阶
使用Redis过程中,总是会遇到各种各样问题,这里进行问题的总结,作为Redis 进阶的经验分享。 更新缓存的问题[主动]需要操作人员去操作,或者定时调度 [被动]由用户触发更新 [预加载]提前加载好数据方案1[主动]后台点击更新缓存按钮,从DB查找最新数据集合,删除原缓存数据,存储新数据到缓存;问题:更新过程中删除掉缓存后刚好有业务在查询,那么这个时候返回的数据会是空,会影响用户体验方案2[被动...转载 2018-05-10 16:49:48 · 670 阅读 · 0 评论 -
如何保证微服务接口的幂等性
在微服务架构下,我们在完成一个订单流程时经常遇到下面的场景:一个订单创建接口,第一次调用超时了,然后调用方重试了一次在订单创建时,我们需要去扣减库存,这时接口发生了超时,调用方重试了一次当这笔订单开始支付,在支付请求发出之后,在服务端发生了扣钱操作,接口响应超时了,调用方重试了一次一个订单状态更新接口,调用方连续发送了两个消息,一个是已创建,一个是已付款。但是你先接收到已付款,然后又接收到了已创建...转载 2018-05-04 11:34:30 · 1988 阅读 · 0 评论 -
创建订单实现幂等的一点思考
https://blog.csdn.net/linsongbin1/article/details/79446880幂等的概念大部分文章都会说,同一个操作,进行多次操作后,结果是一样的,就可以说这个操作是支持幂等的。感觉不太准确,比如一个http get操作,可能每次的结果都不一样,但是其实是幂等的。看了很多文章,感觉下面的定义比较准确:一个操作如果多次任意执行所产生的影响(或者叫副作用),都是相...转载 2018-05-04 12:01:00 · 1296 阅读 · 1 评论 -
基础篇(一)幂等性
https://blog.csdn.net/tjgamejx2/article/details/510114251、导语我认为我是个懒惰的人,很少去写点什么东西,哪怕是看书,我也从来没有看完过一本书。我买过不少书籍,但是几乎每本书籍都没有看完三分之一,一个是因为我懒惰,其次是一本书对于我来说有效信息量可能不足20%甚至更低,我需要去筛选一些我感兴趣的或者说对我来说有用的片段,这使得我失去去翻它的兴...转载 2018-05-04 13:21:32 · 311 阅读 · 0 评论 -
服务框架的技术栈
https://mp.weixin.qq.com/s/rPRTEqJWv59Iba9kHrcgRQ1. 概述架构的改变,往往是因为业务规模的扩张。随着业务规模的扩张,为了满足业务对技术的要求,技术架构需要从单体应用架构升级到分布式服务架构,来降低公司的技术成本,更好的适应业务的发展。分布式服务架构的诸多优势,这里就不一一列举了,今天围绕的话题是服务框架,为了推行服务化,必然需要一套易用...转载 2018-07-24 10:53:00 · 1024 阅读 · 0 评论 -
集中式架构与分布式架构比较
https://mp.weixin.qq.com/s?__biz=MzUzMzU5Mjc1Nw==&mid=2247483847&idx=1&sn=63b4ff4314f71bdb1696c04dea531a30&chksm=faa0ee1dcdd7670bf351740c74e66bb33d3ccf8cf568df73bad0ed151057cca8004ba1d...转载 2019-01-29 10:01:14 · 2513 阅读 · 0 评论