博主自留地

synchronized锁机制 之 代码块锁

Harries 发布于 2018-06-22

synchronized同步代码块 用关键字synchronized声明方法在某些情况下是有弊端的,比如A线程调用同步方法执行一个较长时间的任务,那么B线程必须等待比较长的时间。这种情况下可以尝试使用synchronized同步语句块来解决问题。看一下例子: 下面例子是优化后的例...

阅读(8)评论(0)赞 (0)

咱们聊聊舱壁模式

2

Harries 发布于 2018-06-22

什么是舱壁模式 舱壁模式(Bulkhead)隔离了每个工作负载或服务的关键资源,如连接池、内存和CPU。 使用舱壁避免了单个工作负载(或服务)消耗掉所有资源,从而导致其他服务出现故障的场景。 这种模式主要是通过防止由一个服务引起的级联故障来增加系统的弹性。 工业中使用舱壁将船舶划...

阅读(9)评论(0)赞 (0)

咱们来聊聊快速失败和安全失败

1

Harries 发布于 2018-06-22

 一:快速失败(fail—fast) 在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出Concurrent Modification Exception。 原理:迭代器在遍历时直接访问集合中的内容,并且在遍历过程中使用一个 mo...

阅读(11)评论(0)赞 (0)

请不要在“微服务”的狂热中迷失自我!

3

Harries 发布于 2018-06-22

微服务在过去几年一直是一个非常热门的话题(附录1)。何为“微服务的疯狂”,举个例子: 众所周知,Netflix在DevOps上的表现非常棒。Netfix可以做微服务。因此:如果我做微服务,我也将非常擅长DevOps。 很多情况下,我们盲目的投入巨大的努力来接入微服务模式,然而往往...

阅读(13)评论(0)赞 (0)

如何利用Spring Cloud构建起自我修复型分布式系统

7

Harries 发布于 2018-06-22

利用Netflix所打造的组件及各类大家熟知的工具,我们完全可以顺利应对由微服务以及分布式计算所带来的技术挑战。 在过去一年当中,微服务已经成为软件架构领域一个炙手可热的新名词,而且我们也能轻松举出由其带来的诸多比较优势。然而,我们必须清醒意识到的是,一旦开始遵循微服务思路而对现...

阅读(11)评论(0)赞 (0)

系统健康检查利器-Spring Boot-Actuator

Harries 发布于 2018-06-22

前言 实例由于出现故障、部署或自动缩放的情况,会进行持续启动、重新启动或停止操作。它可能导致它们暂时或永久不可用。为避免问题,您的负载均衡器应该从路由中跳过不健康的实例,因为它们当前无法为客户或子系统提供服务。 应用实例健康状况可以通过外部观察来确定。您可以通过重复调用GET /...

阅读(7)评论(0)赞 (0)

设计一个容错的微服务架构

7

Harries 发布于 2018-06-19

微服务架构使得可以通过明确定义的服务边界来隔离故障。但是像在每个分布式系统中一样,发生网络、硬件、应用级别的错误都是很常见的。由于服务依赖关系,任何组件可能暂时无法提供服务。为了尽量减少部分中断的影响,我们需要构建容错服务,来优雅地处理这些中断的响应结果。建立可靠的系统总是会带来...

阅读(39)评论(0)赞 (0)

服务升降级之开关功能控制

Harries 发布于 2018-06-19

​首先讲一下开关的由来,例如东京在6月18日做店庆促销活动,在交易下单环节,可能需要调用A、B、C三个接口来完成,但是其实A和B是必须的,C只是附加的功能(例如在下单的时候做一下推荐),可有可无,在平时系统没有压力,容量充足的情况下,调用下没问题,但是在类似店庆之类的大促环节,系...

阅读(24)评论(0)赞 (1)

服务降级的一点认识

Harries 发布于 2018-06-19

什么是服务降级 服务降级:主要是针对非正常情况下的应急服务措施;比如电商平台,在针对618、双11等高峰情形下采用部分服务不出现或者延时出现的情形。 举个例子 大家都见过女生旅行吧,大号的旅行箱是必备物,平常走走近处绰绰有余,但一旦出个远门,再大的箱子都白搭了,怎么办呢?常见的情...

阅读(23)评论(0)赞 (0)

微服务基础架构

2

Harries 发布于 2018-06-19

Monolithic vs Microservice Monolithic Microservice 开发测试 Java类语言项目越大,运行调试需要越多的编译时间,本地调试有较多依赖,况且业务复杂后不易新人上手 只有部分功能的代码,运行更快速,根据业务划分,方便新人上手 部署 更...

阅读(35)评论(0)赞 (0)

纪念逝去的爷爷

1

Harries 发布于 2018-06-12

写在前面 昨天半夜11:28左右接到父亲电话告知您永远离开我们了,内心是震惊的,好端端的一个人就这么离开了。 上个月还听到你洪亮的嗓门,这个月就突然离世,走得那么突然,走得那么急促。还没有来得及和您说再见就已经阴阳相隔了。 曾经的你 一生育有四子一女,虽家境贫穷,但自力更生,抚养...

阅读(33)评论(0)赞 (1)

五、 文件系统选型参考

Harries 发布于 2018-06-08

指标 适合类型 文件分布 系统性能 复杂度 FUSE POSIX 备份机制 通讯协议接口 社区支持 去重 开发语言 FastDFS 4KB~500MB 小文件合并存储不分片处理 很高 简单 不支持 不支持 组内冗余备份 ApiHTTP 国内用户群 C语言 TFS 所有文件 小文件...

阅读(37)评论(0)赞 (0)

四、 FastDFS安装部署

1

Harries 发布于 2018-06-08

192.168.80.139 nginx—tracerserver—storeserver 1.1.   下载EPEL 的rpm 安装包  wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-...

阅读(98)评论(0)赞 (0)

三、 FastDFS功能原理

4

Harries 发布于 2018-06-08

1.1.  文件上传 FastDFS向使用者提供基本文件访问接口,比如upload、download、append、delete等,以客户端库的方式提供给用户使用。 选择tracker server 当集群中不止一个tracker server时,由于tracker之间是完全对等...

阅读(208)评论(0)赞 (0)

二、 FastDFS架构

1

Harries 发布于 2018-06-08

1.1.  设计理念 FastDFS是为互联网应用量身定做的分布式文件系统,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标。和现有的类Google FS分布式文件系统相比,FastDFS的架构和设计理念有其独到之处,主要体现在轻量级、分组方式和对等结构三...

阅读(90)评论(0)赞 (1)

一、 Fastdfs介绍

Harries 发布于 2018-06-08

1.1.  FastDFS是什么 FastDFS是一个开源的轻量级分布式文件系统。它解决了大数据量存储和负载均衡等问题。特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务,如相册网站、视频网站等等。   1.2.  ...

阅读(41)评论(0)赞 (0)

咱们聊聊对账系统该如何设计

3

Harries 发布于 2018-06-08

在互联网行业中只要涉及到支付,必然就会有对账的需求,几乎所有互联网公司的业务中多多少少的都会涉及到支付,大一点的公司甚至都标配有了自己的第三方支付公司,因此对账具有普遍性。对账系统是支付体系中最重要的一环,也是保证交易、资金安全的最后一道防线。在大多数的互联网公司中,一般都会有独...

阅读(59)评论(0)赞 (0)

百万数据的对账优化

2

Harries 发布于 2018-06-08

写在前面 最近线上的对账程序一直不稳定,经常出现对账时间超长,影响结算跑批任务,导致后续业务受影响。 原来的流程 系统订单量不大的情况下可以这样子处理没有什么异常问题,随着系统订单的增长,对账时间不断增长,远远超过我们能忍的极限,比如说:到早上还没有对帐完,影响第二天出结算单的时...

阅读(43)评论(0)赞 (1)