[转]美团点评运营配置平台的设计与实践之道
移动终端的开发变得越来越复杂,随之而来的是对 C 端动态化要求越来越高。动态化需要对 C 端里的基础配置、运营资源进行灵活的管理。如何在版本快速迭代过程中,满足业务场景的高效灵活变更?传统的解决方案无法满足这种复杂场景,美团点评基于自身移动运营的实践,打造了稳定、灵活、高效的运营配置平台。本文根据美团点评高级架构师蒋国宝在 QCon 上海的演讲整理而成。
Just One Pure ITer
移动终端的开发变得越来越复杂,随之而来的是对 C 端动态化要求越来越高。动态化需要对 C 端里的基础配置、运营资源进行灵活的管理。如何在版本快速迭代过程中,满足业务场景的高效灵活变更?传统的解决方案无法满足这种复杂场景,美团点评基于自身移动运营的实践,打造了稳定、灵活、高效的运营配置平台。本文根据美团点评高级架构师蒋国宝在 QCon 上海的演讲整理而成。
1. DBA的日常工作 首先,我们来看看DBA的具体工作,我觉得 DBA 真的很忙:备份和恢复、监控状态、集群搭建与扩容、数据迁移和高可用,这是我们 DBA 的功能。 了解这些功能以后要对体系结构有更加深入的了解,你不知道怎么处理这些故障和投诉的事情。 所以我们要去了解缓存/线程、SQL优化、存储引擎以及SQL审计以及锁与实务、体系结构更深一点,就去研究内核原理和源码定制,DBA有这么多工作,他们就像一个小怪兽一样等着我们去解决。 今天我站在更加全面的角度跟大家分享一下我觉得我在这一年多DBA工作当中的经验,希望可以给大家带来启发和帮助。
这篇文章主要介绍模型产生的问题背景,解决的问题,处理思路,相关实现规则,环环相扣,希望读者看完这篇文章后能对 Java 内存模型体系产生一个相对清晰的理解,知其然知其所以然。
1. 前言 Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分组归类,再使用对比的方式进行介绍,帮助大家更快捷的理解相关知识。下面给出本文内容的总体分类目录:
Java 性能优化:教你提高代码运行的效率 spring boot 引起的 “堆外内存泄漏” 组内一个项目最近一直报swap区域使用过高异常 没错,老板让我写个 BUG! 主要就是要让一些负载很低的服务器额外消耗一些内存、CPU 等资源(至于背景就不多说了),让它的负载可以提高一些 一次生产 CPU 100% 排查优化实践 你的接口,真的能承受高并发吗? 事务的滥用和锁的粒度 一次 Java 内存泄漏排查过程,涨姿势 Java内存溢出与内存泄漏 你以为JDK8之后用HashMap就没事了?死循环问题依然存在! 让 Spring Boot 启动更快一点 System.currentTimeMillis()竟然存在性能问题 一次简单的 HTTP 调用,为什么时延这么大?抓个包分析下 NullPointerException 的处理新方式,Java14 真的太香了! ...
目录: 一、问题起源 二、Eureka Server设计精妙的注册表存储结构 三、Eureka Server端优秀的多级缓存机制 四、总结
High Concurrency, Circuit Breaker, Rate Limit, Load Balance,etc...
by leelight · Published December 9, 2018 · Last modified December 16, 2018
1. 前言 俗话说的好,冰冻三尺非一日之寒,滴水穿石非一日之功,罗马也不是一天就建成的。两周前秒杀案例初步成型,分享到了中国最大的同性交友网站-码云。同时也收到了不少小伙伴的建议和投诉。我从不认为分布式、集群、秒杀这些就应该是大厂的专利,在互联网的今天无论什么时候都要时刻武装自己,只有这样,也许你的春天就在明天。
GitHub 开源项目地址传送门: https://github.com/qunarcorp/qmq 1. 背 景 2012 年,随着公司业务的快速增长,公司当时的单体应用架构很难满足业务快速增长的要求,和其他很多公司一样,去哪儿网也开始了服务化改造,按照业务等要素将原来庞大的单体应用拆分成不同的服务。那么在进行服务化改造之前首先就是面临是服务化基础设施的技术选型,其中最重要的就是服务之间的通信中间件。一般来讲服务之间的通信可以分为同步方式和异步方式。同步的方式的代表就是 RPC,我们选择了当时还在活跃开发的 Alibaba Dubbo(在之后 Dubbo 官方停止了开发,但是最近 Dubbo 项目又重新启动了)。 异步方式的代表就是消息队列 (Message Queue),MQ 在当时也有很多开源的选择:RabbitMQ, ActiveMQ, Kafka, MetaQ(RocketMQ 的前身)。首先因为技术栈我们排除了 erlang 开发的 RabbitMQ,而 Kafka 以及 Java 版 Kafka 的 MetaQ 在当时还并不成熟和稳定。而...
High Concurrency, Circuit Breaker, Rate Limit, Load Balance,etc...
by leelight · Published December 8, 2018
我们都对高可用有一个基本的认识,其中负载均衡是高可用的核心工作。本文将通过如下几个方面,让你妥妥的吃透“”负载均衡”。 负载均衡是什么 常用负载均衡策略图解 常用负载均衡策略优缺点和适用场景 用健康探测来保障高可用 结语
声明式事务总结
Follow:
| Cookie | Duration | Description |
|---|---|---|
| cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
| cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
| cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
| cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
| cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
| viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |