Category: Java Architecture

[转]分布式事务原理 0

[转]分布式事务原理

这篇文章将介绍什么是分布式事务,分布式事务解决什么问题,对分布式事务实现的难点,解决思路,不同场景下方案的选择,通过图解的方式进行梳理、总结和比较。

[转]Uber:大规模系统下如何构建可伸缩的告警生态系统 0

[转]Uber:大规模系统下如何构建可伸缩的告警生态系统

Uber 的软件架构包含上千个微服务,为了维持增长和架构,Uber 的可观察性团队构建了一个健壮的、可伸缩的指标和告警管道,具体来讲,就是构建了两个数据中心内的告警系统,称为 uMonitor 和 Neris。 Uber 的软件架构包含上千个微服务,它们能够让团队快速迭代并支撑公司的全球化增长。这些微服务支撑着各种解决方案,比如移动应用、内部与基础设施服务、产品等,它们有着非常复杂的配置,这些配置会在城市和子城市级别对产品的行为产生影响。

[转]Redis持久化实战 0

[转]Redis持久化实战

它支持的数据类型很丰富,如字符串、链表、集合、以及散列等,并且还支持多种排序功能。 1. 什么叫持久化? 用一句话可以将持久化概括为:将数据(如内存中的对象)保存到可永久保存的存储设备中。 持久化的主要应用是将内存中的对象存储在数据库中,或者存储在磁盘文件中、 XML 数据文件中等等。

0

[总结]Redis热点Key发现及常见解决方案

1. 一、热点Key问题产生的原因 1、用户消费的数据远大于生产的数据(热卖商品、热点新闻、热点评论、明星直播)。 在日常工作生活中一些突发的的事件,例如:双十一期间某些热门商品的降价促销,当这其中的某一件商品被数万次点击浏览或者购买时,会形成一个较大的需求量,这种情况下就会造成热点问题。 同理,被大量刊发、浏览的热点新闻、热点评论、明星直播等,这些典型的读多写少的场景也会产生热点问题。 2、请求分片集中,超过单 Server 的性能极限。 在服务端读数据进行访问时,往往会对数据进行分片切分,此过程中会在某一主机 Server 上对相应的 Key 进行访问,当访问超过 Server 极限时,就会导致热点 Key 问题的产生。 2. 二、热点Key问题的危害 1、流量集中,达到物理网卡上限。 2、请求过多,缓存分片服务被打垮。 3、DB 击穿,引起业务雪崩。 如前文讲到的,当某一热点 Key 的请求在某一主机上超过该主机网卡上限时,由于流量的过度集中,会导致服务器中其它服务无法进行。 如果热点过于集中,热点 Key 的缓存过多,超过目前的缓存容量时,就会导致缓存分片服务被打垮现象的产生。 当缓存服务崩溃后,此时再有请求产生,会缓存到后台 DB 上,由于DB 本身性能较弱,在面临大请求时很容易发生请求穿透现象,会进一步导致雪崩现象,严重影响设备的性能。 3....

[转]58集团RPC框架SCF的设计与实践 0

[转]58集团RPC框架SCF的设计与实践

1. 前   言 RPC 是远程过程调用(Remote Procedure Call)的缩写,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。举例来说,部署在 A 节点上的应用调用部署在 B 节点上的应用提供的接口,A 节点需要将调用的数据信息通过网络传递到 B 节点,B 节点根据接收到的数据信息找到具体的接口执行,并将执行的结果通过网络返回给节点 A。 RPC 框架封装网络传输、序列化、负载均衡、故障剔除等通用能力,使得 A 节点可以像调用本地方法一样简单地调用远程接口。 SCF 是 58 自主研发的 RPC 框架,致力于在分布式环境下提供高性能、高可靠和透明化的 RPC 远程调用方案。 服务管理平台是基于 SCF 框架的服务治理平台,具有服务节点自动注册与发现、负载均衡、服务鉴权、全方位监控、完善的告警等特点。 2. 整体架构 SCF...

[转]Java 8如何优化CAS性能 0

[转]Java 8如何优化CAS性能

1. 一、前情回顾 上篇文章给大家聊了一下volatile的原理,具体参见:《Java内存模型原理》。 这篇文章给大家聊一下java并发包下的CAS相关的原子操作,以及Java 8如何改进和优化CAS操作的性能。 因为Atomic系列的原子类,无论在并发编程、JDK源码、还是各种开源项目中,都经常用到。而且在Java并发面试中,这一块也属于比较高频的考点,所以还是值得给大家聊一聊。

[转]消息中间件–2缺点 0

[转]消息中间件–2缺点

这篇文章给大家讲讲,如果你在系统架构里引入了消息中间件之后,会有哪些缺点? 1. 1 系统可用性降低 首先是你的系统整体可用性绝对会降低,给你举个例子,我们就拿之前的一幅图来说明。

[转]事务处理被吃掉的异常 0

[转]事务处理被吃掉的异常

我们在开发企业应用时,由于数据操作在顺序执行的过程中,线上可能有各种无法预知的问题,任何一步操作都有可能发生异常,异常则会导致后续的操作无法完成。此时由于业务逻辑并未正确的完成,所以在之前操作过数据库的动作并不可靠,需要在这种情况下进行数据的回滚。 这叫事务。事务的作用就是为了保证用户的每一个操作都是可靠的,事务中的每一步操作都必须成功执行,只要有发生异常就回退到事务开始未进行操作的状态。这很好理解,转账、购票等等,必须整个事件流程全部执行完才能人为该事件执行成功,不能转钱转到一半,系统死了,转账人钱没了,收款人钱还没到。

[转]每秒上万并发下的Spring Cloud参数优化实战 0

[转]每秒上万并发下的Spring Cloud参数优化实战

1. 一、写在前面 相信不少朋友都在自己公司使用Spring Cloud框架来构建微服务架构,毕竟现在这是非常火的一门技术。 如果只是用户量很少的传统IT系统,使用Spring Cloud可能还暴露不出什么问题。 如果是较多用户量,高峰每秒高达上万并发请求的互联网公司的系统,使用Spring Cloud技术就有一些问题需要注意了。