Category: Distributed Architecture

0

[转]聊聊分布式锁

1. 1.背景 对于锁大家肯定不会陌生,在Java中synchronized关键字和ReentrantLock可重入锁在我们的代码中是经常见的,一般我们用其在多线程环境中控制对资源的并发访问,但是随着分布式的快速发展,本地的加锁往往不能满足我们的需要,在我们的分布式环境中上面加锁的方法就会失去作用。于是人们为了在分布式环境中也能实现本地锁的效果,也是纷纷各出其招,今天让我们来聊一聊一般分布式锁实现的套路。

[转]史上最全的select加锁分析(Mysql) 0

[转]史上最全的select加锁分析(Mysql)

1. 引言 大家在面试中有没遇到面试官问你下面六句Sql的区别呢

  如果你能清楚的说出,这六句sql在不同的事务隔离级别下,是否加锁,加的是共享锁还是排它锁,是否存在间隙锁,那这篇文章就没有看的意义了。

0

[转]高可用简史

分布式是如何进入数据库领域的? 我曾经访问过一个有“营业时间”的网站,它只在某些时间段才“开放”。我因此感到困惑,还有点沮丧。计算机可以运行一整天,为什么这个网站就不可以呢?可能我已经习惯了互联网那种令人难以置信的可用性保证。 然而,在互联网出现之前,全天候可用性的概念还“不成气候”。可用性虽然令人期待,但还没有到非要不可的程度。我们只在有需要时才使用电脑,它们不会为了一个极小可能出现的请求而等待。随着互联网的出现和发展,之前不太常见的本地凌晨 3 点请求变成了全球性的主要营业时间点,确保计算机能够处理这些请求就变得非常重要。

0

[转]手把手教你从0到1写一个简单的缓存框架

目前市面上已经有很多开源的缓存框架,比如 Redis、Memcached、Ehcache 等,那为什么还要自己动手写缓存?本文将带领大家从 0 到 1 写一个简单的缓存框架,目的是让大家对缓存的类型、缓存的标准、缓存的实现以及原理方面有一个系统的了解,做到知其然,知其所以然。

[转]系统化全方位监控告警总结 0

[转]系统化全方位监控告警总结

Q1花了较大的篇幅,系统化讲述了监控与告警体系的建立,本文稍作总结。如果恰巧你正在搭建自动化监控与告警平台,或许,细读这一系列文章就够了。 一《监控告警,集群信息管理先行》 什么是集群信息管理 使用配置文件进行集群信息管理 使用服务进行集群信息管理 使用配置中心进行集群信息管理 二《监控告警,员工信息管理,分级告警策略》 使用配置文件进行员工信息管理 使用服务进行员工信息管理 常见分级告警策略:告警收敛,分时告警,逐层上报,黑白跳动 三《多维度立体化监控》 什么是多维度立体化监控 立体化监控有哪些维度 操作系统+进程+端口 http状态码 服务存活性 接口处理时间 http接口 log监控 用户视角 如何快速实施“1.操作系统+进程+端口”的监控 如何快速实施“2.http状态码”的监控 如何快速实施“3.服务存活性”的监控 如何快速实施“4.接口处理时间”的监控 四《一分钟搞定“http接口”监控框架》 常见http监控玩法 常见http监控的弊端 通用可扩展http监控平台架构 简版http监控框架架构 100行伪代码搞定http监控 五《一分钟搞定“log”监控框架》 什么是日志监控 日志分级,错误日志监控,正常日志监控 日志与目录规范...

[转]消除单点 0

[转]消除单点

1. 系统架构中,为什么会存在单点? (1)存在设计缺陷,出现了单点; (2)能大大简化系统设计,有意为之,设置单点;   典型互联网高可用架构,哪些地方可能存在潜在单点? 典型互联网高可用架构: (1)端,通过DNS,由域名拿到nginx的外网IP; (2)反向代理,nginx是后端入口; (3)站点应用,典型的是tomcat或者apache; (4)服务,典型的是dubbo提供RPC服务调用; (5)数据层,典型的是读写分离的db架构;

0

[转]美团开源实时监控系统CAT

1. CAT 项目背景 CAT(Central Application Tracking),是美团点评基于 Java 开发的一套开源的分布式实时监控系统。美团点评基础架构部希望在基础存储、高性能通信、大规模在线访问、服务治理、实时监控、容器化及集群智能调度等领域提供业界领先的、统一的解决方案,CAT 目前在美团点评的产品定位是应用层的统一监控组件,在中间件(RPC、数据库、缓存、MQ 等)框架中得到广泛应用,为各业务线提供系统的性能指标、健康状况、实时告警等服务。 本文会对 CAT 的客户端、性能等做详细深入的介绍,更多技术细节,欢迎阅读《深度剖析开源分布式监控 CAT》。

Bildergebnis für lego movie 2 0

[转]深入学习Redis(5):集群

1. 2. 前言 在前面的文章中,已经介绍了Redis的几种高可用技术:持久化、主从复制和哨兵,但这些方案仍有不足,其中最主要的问题是存储能力受单机限制,以及无法实现写操作的负载均衡。 Redis集群解决了上述问题,实现了较为完善的高可用方案。本文将详细介绍集群,主要内容包括:集群的作用;集群的搭建方法及设计方案;集群的基本原理;客户端访问集群的方法;以及其他实践中需要的集群知识(集群扩容、故障转移、参数优化等)。

0

[转]深入学习Redis(4):哨兵

1. 2. 前言 在 深入学习Redis(3):主从复制 中曾提到,Redis主从复制的作用有数据热备、负载均衡、故障恢复等;但主从复制存在的一个问题是故障恢复无法自动化。本文将要介绍的哨兵,它基于Redis主从复制,主要作用便是解决主节点故障恢复的自动化问题,进一步提高系统的高可用性。 文章主要内容如下:首先介绍哨兵的作用和架构;然后讲述哨兵系统的部署方法,以及通过客户端访问哨兵系统的方法;然后简要说明哨兵实现的基本原理;最后给出关于哨兵实践的一些建议。文章内容基于Redis 3.0版本。