![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
架构师之路
攻城狮Luke(刘健彬)
在深圳某IOT企业任职技术专家,擅长的技术领域包括Spring Cloud、Spring Cloud Alibaba、微服务架构、Docker、Kubernetes、分布式事务、高并发多线程、消息队列、数据库、数据结构与算法、网络数据安全、JVM、DevOps等,拥有丰富的互联网一线开发与架构经验。开源分布式事务框架milo作者,CSDN知名博主。
展开
-
ActiveMQ的几种集群配置
ActiveMQ是一款功能强大的消息服务器,它支持许多种开发语言,例如Java, C, C++, C#等等。企业级消息服务器无论对服务器稳定性还是速度,要求都很高,而ActiveMQ的分布式集群则能很好的满足这一需求,下面说说ActiveMQ的几种集群配置。Queue consumer clusters此集群让多个消费者同时消费一个队列,若某个消费者出问题无法消费信息,则未消费掉的转载 2016-02-16 11:39:02 · 3065 阅读 · 0 评论 -
高可用&负载均衡常用架构
下面总结一下常用的高可用复杂均衡架构模式。1. 客户端切换。客户端配置多个服务器地址。如果发生某个服务器无法访问或者使用异常,客户端就切换到其它服务器上。优点:简单,高效,可以在业务层面检测服务可用性缺点:需要提前配置。Mysql connect 这样做load balance 和failed over .在JDBC连接上可以转载 2016-03-30 14:18:07 · 1841 阅读 · 0 评论 -
应用多级缓存模式支撑海量读服务
缓存技术是一个老生常谈的问题,但是它也是解决性能问题的利器,一把瑞士军刀;而且在各种面试过程中或多或少会被问及一些缓存相关的问题,如缓存算法、热点数据与更新缓存、更新缓存与原子性、缓存崩溃与快速恢复等各种与缓存相关的问题。而这些问题中有些问题又是与场景相关,因此如何合理应用缓存来解决问题也是一个选择题。本文所有内容是跟读服务缓存相关,不会涉及写服务数据的缓存。本文也不考虑内容型应用前置的CDN架构转载 2016-03-21 17:16:11 · 837 阅读 · 0 评论 -
每秒处理10万订单乐视集团支付架构
随着乐视硬件抢购的不断升级,乐视集团支付面临的请求压力百倍乃至千倍的暴增。作为商品购买的最后一环,保证用户快速稳定的完成支付尤为重要。所以在15年11月,我们对整个支付系统进行了全面的架构升级,使之具备了每秒稳定处理10万订单的能力。为乐视生态各种形式的抢购秒杀活动提供了强有力的支撑。一、库分表在redis,memcached等缓存系统盛行的互联网时代,构建一个支撑每秒十万只读的系转载 2016-05-10 15:50:49 · 1557 阅读 · 0 评论 -
高并发金融应用架构优化与平台创新
小微金融、场景金融等新兴银行金融业务亟需一种新型的弹性架构来应对高并发、大流量的业务冲击,同时,要满足应用快速版本迭代升级、敏捷运维管理等需求。本文分享了BoCloud博云如何利用互联网应用架构与Docker容器技术帮助银行业应对“互联网+”挑战,建设基于PaaS平台的敏捷IT架构。移动互联网渠道创新是传统企业无法也不能躲避的业务变革,无论是接入或者自建互联网渠道都需要回答如下问题:现在的转载 2016-05-23 15:22:20 · 872 阅读 · 0 评论 -
宅米网技术变迁——初创互联网公司的技术发展之路
最近几年,互联网创业浪潮风起云涌,各类互联网创业公司如雨后春笋般成立。技术做为互联网创业重要的一个组成部分,也前所未有的受到重视。互联网企业的发展通常都是爆发式增长,在极短的时间内,业务规模、用户量成百上千倍的增长,对网站的技术架构提出极大的挑战。本文以宅米网为例,跟大家分享在一个典型的互联网创业公司中,技术如何快速响应业务变化,不断重构优化系统架构,满足业务的需求。技术团队又是如何不断地转载 2016-06-30 09:58:08 · 719 阅读 · 0 评论 -
大话程序猿眼里的高并发架构
前言高并发经常会发生在有大活跃用户量,用户高聚集的业务场景中,如:秒杀活动,定时领取红包等。为了让业务可以流畅的运行并且给用户一个好的交互体验,我们需要根据业务场景预估达到的并发量等因素,来设计适合自己业务场景的高并发处理方案。在电商相关产品开发的这些年,我有幸的遇到了并发下的各种坑,这一路摸爬滚打过来有着不少的血泪史,这里进行的总结,作为自己的归档记录,同时分享给大家。转载 2016-10-27 10:19:51 · 813 阅读 · 0 评论 -
redis主从复制和集群实现原理
redis主从复制redis主从配置比较简单,基本就是在从节点配置文件加上:slaveof 192.168.33.130 6379主要是通过master server持久化的rdb文件实现的。master server 先dump出内存快照文件,然后将rdb文件传给slave server,slave server 根据rdb文件重建内存表。redis复制过程如下:1、slave转载 2017-02-16 10:32:20 · 661 阅读 · 0 评论 -
Mycat集群架构
架构图架构分析架构图集群总共需要有8台机子,mysql需要4台,mycat需要2台,负载均衡和高可用需要2台。之所以Mycat需要集群这样的架构,是为了避免Mycat单点失效的情况,mysql主机有4台(db1-db4),其中db1和db3是组一(主主复制),db2和db4是组二(主主复制),之所以需要主主复制是因为mycat可以实现组内db自动故障切换,恢复后原创 2017-03-27 11:28:47 · 1989 阅读 · 0 评论 -
高并发“热点”缓存数据快速“退火”
背景电商场景促销活动的会场页由于经常集中在某个时间点进行“秒杀”促销,这些页面的QPS(服务器每秒可以处理的请求量)往往特别高,数据库通常无法直接支撑如此高QPS的请求,常见的解决方案是让大部分相同信息的请求都尽可能地压在缓存(cache)上来缓解数据库(DB)的压力,从而尽可能地去满足高并发访问的诉求(如图2-1所示)。图2-1 常规数据缓转载 2017-11-28 14:13:40 · 338 阅读 · 0 评论 -
2017年度盘点丨基础架构演化:从“以资源为中心”到“以应用为中心”的迁移
谈到基础架构,不同的人有不同的理解。一般说来,我们将支撑应用研发部署的底层软硬件的集合叫做基础架构。它不仅涉及到IDC、机房、机架、网络、主机、存储等硬件资源,也涉及到操作系统、系统软件、日志管理、应用管理监控等基础软件资源。基础架构支持了分布式服务、大数据、云计算、机器学习等基础领域,也成为IT类企业提升生产力、降低成本的核心。近些年来,随着虚拟化、容器化等新技术的不断涌现和发展,随着应用开发模转载 2018-01-09 09:02:23 · 663 阅读 · 0 评论 -
Java体系化学习路线图
有不少朋友问,除了掌握Java语法,还要系统学习哪些Java相关的技术,今天分享一个,互联网Java技术学习路线图。新一:常见模式与工具学习Java技术体系,设计模式,流行的框架与组件是必不可少的:常见的设计模式,编码必备Spring5,做应用必不可少的最新框架MyBatis,玩数据库必不可少的组件新二:工程化与工具工欲善其事必先利其器,不管是小白,还是资深开发,玩Java技术体系,选择好的工具,...转载 2018-06-04 08:47:49 · 2868 阅读 · 0 评论 -
快的打车架构实践
快的打车从2013年年底到2014年下半年,系统访问量迅速膨胀,很多复杂的问题要在短时间内解决,且不能影响线上业务,这是比较大的挑战,本文将会阐述快的打车架构演变过程遇到的一些有代表性的问题和解决方案。LBS的瓶颈和方案先看看基本的系统模型,如图1所示。图1 系统模型示意图司机每隔几秒钟上报一次经纬度,存储在MongoDB里;乘客发单时,通过MongoDB圈选出转载 2016-01-07 16:21:14 · 1093 阅读 · 0 评论 -
MySQL Proxy 安装与读写分离体验
一直想等到BETA版出来再试验的,可还是经不住诱惑阿,下午终于有时间测试一下了。(本文参考地址:http://blog.chinaunix.net/u/8111/showart.php?id=451420)一、必备软件:1、LUA 可以去LUA的官方下载:www.lua.org2、MySQL Proxy 这里有好多二进制版本。 http://mysql.c转载 2015-10-30 14:25:33 · 458 阅读 · 0 评论 -
高效编程
聊聊我的高效编程之路摘要:在程序开发过程中,一些IDE的配置、常用代类的积累以及常用框架的使用。能帮助我们迅速写好代码,快速定位错误。同时,又有利于我们快速构造和部署,以及进行后续的迭代开发。本文主要从IDE的配置、代码的规范、常用代码的积累等方面来聊下自己一些编程方面的见解。目录:一、IDE配置篇二、规范工程篇三、常用代码篇四、常用框架篇五转载 2015-09-09 08:29:34 · 1330 阅读 · 0 评论 -
提升网站性能开发的10个技巧
随着网络的高速发展,网络性能的持续提高成为能否在芸芸App中脱颖而出的关键。高度联结的世界意味着用户对网络体验提出了更严苛的要求。假如你的网站不能做到快速响应,又或你的App存在延迟,用户很快就会移情你的竞争对手。以下为大家总结10条有关性能提升的经验,以供参考:1. 采用反向代理服务器(Reverse Proxy Server)来对应用进行加速和保护其作用主要在以下转载 2015-10-21 10:16:13 · 423 阅读 · 0 评论 -
关于数据库备份的定义和重要性
所谓备份,就是通过特定的办法,讲数据库的必要文件复制到转储设备的过程.其中,转储设备是指用于放置数据库拷贝的磁带或磁盘 选择备份的依据是:丢失数据的代价与确保数据不丢失的代价之比.还有的时候,硬件的备份有时根本就满足不了现实需要,比如误删了一个表,又想恢复该表的时候,数据库备份就变得重要了. Oracle提供了强大的备份与恢复策略,包括常规数据库备份(逻辑备份,冷备份与转载 2015-11-06 11:24:45 · 7343 阅读 · 0 评论 -
EhCache 分布式缓存/缓存集群
开发环境:System:WindowsJavaEE Server:tomcat5.0.2.8、tomcat6JavaSDK: jdk6+IDE:eclipse、MyEclipse 6.6 开发依赖库:JDK6、 JavaEE5、ehcache-core-2.5.2.jarEmail:hoojo_@126.comBlog:htt转载 2015-10-27 17:39:03 · 481 阅读 · 0 评论 -
Spring/Hibernate 应用性能优化的7种方法
【编者按】对于大多数典型的 Spring/Hibernate 企业应用而言,其性能表现几乎完全依赖于持久层的性能。此篇文章中将介绍如何确认应用是否受数据库约束,同时介绍七种常用的提高应用性能的速成法,由OneAPM 工程师翻译。以下为译文如何确认应用是否受限于数据库确认应用是否受限于数据库的第一步,是在开发环境中进行测试,并使用 VisualVM 进行监控。Visual转载 2015-10-28 08:32:15 · 521 阅读 · 0 评论 -
MySQL主从复制与读写分离的实现
MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。因此,一般来说都是通过 主从复制(Master-Slave)的方式来同步数据,再通过读写分转载 2015-10-29 10:43:07 · 499 阅读 · 0 评论 -
Mysql一主多从和读写分离配置简记
近期开发的系统中使用MySql作为数据库,由于数据涉及到Money,所以不得不慎重。同时,用户对最大访问量也提出了要求。为了避免Mysql成为性能瓶颈并具备很好的容错能力,特此实现主从热备和读写分离。在此简做纪要,以备日后所用!一、配置主从条件:两台PC,IP分别为192.168.168.253,192.168.168.251。两台PC上的Mysql版本为5.0。253上的Mysq转载 2015-10-29 10:47:51 · 492 阅读 · 0 评论 -
分布式架构的演进
分布式架构的演进系统架构演化历程-初始阶段架构初始阶段 的小型系统 应用程序、数据库、文件等所有的资源都在一台服务器上通俗称为LAMP特征:应用程序、数据库、文件等所有的资源都在一台服务器上。描述:通常服务器操作系统使用linux,应用程序使用PHP开发,然后部署在Apache上,数据库使用Mysql,汇集各种免费开源软件以及一台廉价服务器就可以开始系统转载 2015-10-14 17:17:06 · 485 阅读 · 0 评论 -
MySQL主从复制技术与读写分离技术amoeba应用
MySQL主从复制技术与读写分离技术amoeba应用 前言:目前在搭建一个人才网站,预计流量会很大,需要用到分布式数据库技术,MySQL的主从复制+读写分离技术。读写分离技术有官方的MySQL-proxy,阿里巴巴的Amoeba。Amoeba能在阿里巴巴这么大流量的平台投入使用而且运行稳定,Amoeba的性能是很优越的,相信眼前事实,所以选择了Amoeba。 一、名转载 2015-10-29 14:59:56 · 11781 阅读 · 0 评论 -
MySql数据库主从同步配置(亲测)
一,Mysql版本:MySQL-5.6.24-1.linux_glibc2.5.x86_64.rpm-bundle.tar 主从库要求版本一致,不一致的话谁也不知道会出现什么问题。数据库安装方式:http://www.youxijishu.com/blogs/26.html二,主库IP:192.168.0.201从库IP:192.168.0.202三,修改主库转载 2015-10-29 22:46:29 · 759 阅读 · 0 评论 -
采用Atlas+Keepalived实现MySQL读写分离、读负载均衡
一、基础介绍==========================================================================================1、背景描述目前我们的高可用DB的代理层采用的是360开源的Atlas,从上线以来,已稳定运行2个多月。无论是从性能上,还是稳定性上,相比其他开源组件(amoeba、cobar、Max转载 2015-10-30 09:08:51 · 821 阅读 · 0 评论 -
Ubuntu10下搭建MySQL Proxy读写分离
一、MySQL-Proxy基础MySQL Proxy是一个处于你的Client端和MySQL server端之间的简单程序,它可以监测、分析或改变它们的通信。它使用灵活,没有限制,常见的用途包括:负载平衡,故障、查询分析,查询过滤和修改等等。(Figure1:MySQL Proxy)MySQL-Proxy, announced in June, is a bin转载 2015-10-30 11:08:03 · 1052 阅读 · 0 评论 -
mysql配置mysql-proxy读写分离
mysql配置读写分离在这里你再也不用担心高手省略了大段代码了,因为我也是新手。下面开整先安装luaLua 是一个小巧的脚本语言。Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行。一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。先安装可能的转载 2015-10-30 12:00:27 · 456 阅读 · 0 评论 -
大型网站系统架构的演化
前言 一个成熟的大型网站(如淘宝、京东等)的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性,它总是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发模式、技术架构、设计思想也发生了很大的变化,就连技术人员也从几个人发展到一个部门甚至一条产品线。所以成熟的系统架构是随业务扩展而完善出来的,并不是一蹴而就;不同业务特征的系统,会有各自的侧重点,例如淘宝,要解转载 2015-08-27 17:50:43 · 547 阅读 · 0 评论