- 浏览: 9309 次
- 性别:
- 来自: 广州
最新评论
文章列表
通常一个产品,内部是需要很多子系统一起协助的,像有些电商系统,可能需要几百个系统一起协助。假设下面这样一种场景,假设应用a部署在机房room1, 在room1的其他应用可以调用应用a的接口,然后还有很多的子系统是部署在room2这个机房的,room2中的应用也需要调用到应用a,那么这样 room2中的应用调用room1中的a应用时,就有因为跨机房导致的时延问题。如果系统的qps要求很高,那么应用a最好也部署在room2,实行多机房部署。
具体内容请看我的csdn博客文章:
应用多机房部署
概要:在一个大的系统当中,通常会切分成多个子系统,子系统与子系统之间可以通过微服务、http接口或者mq等来相互通讯。假设有这样一种场景,A系统需要调用B系统的f1 接口,获取数据后再向前端系统输出。前端系统通常所承受的并发量是非常大的,也就是说A系统的接口需要有很高的qps。这个时候我们需要缓存B系统接口的输出,以便提高A系统接口的响应速度。详细内容请看我的csdn博客链接:缓存外部系统接口返回信息的方案
概要:最近经常做业务逻辑代码review的工作,发现各种风格的代码,其中有一种是封装和抽象做的非常的多,代码层次非常的深入,表面给人感觉是:牛逼的代码。但是从清晰度和可维护性来说,还是不推荐这么做。。。。。。。。。。。。详细的请参看我的csdn博客编写业务逻辑代码-清晰可维护才是最重要的
互联网应用通常都需要应付大并发量,为了提高QPS,通常会使用中央缓存(例如memcache)和本地缓存的方式。请求先经过本地缓存,如果不命中,则 请求穿透到中央缓存,如果还是不命中,则会直接查询数据库,并把查询到的数据刷新到中央缓存中。如果采用这种方式的话,必须要解决一个问题,如何刷新本地 缓存的数据。
详细情况我的csdn博客文章:
中央缓存结合本地缓存-本地缓存数据刷新方案
概要:在项目开发当中,经常有这样一种场景,对数据库进行添加、修改、删除操作的应用直接连接master库,只对数据库进行查询的应用,会先建立一个中央缓 存,例如redis或者memcache,如果缓存没有命中,那么直接访问slave库。下文会介绍一下在刷新中央缓存时,如果发生主从延迟,应该如何处 理。也即是,当应用System-A 把数据库写入master库的时候,System-B应用在读取slave库的时候,master库的数据还没同步到slave库,如果这个时候刷新缓存 的话,会直接把旧的数据刷到缓存里的。详细内容请看我的csdn博客:实时刷新缓存-处理mysql主从延迟的一些设计方案
...
概要:为了减轻数据库的压力,一般会使用数据库主从(master/slave)的方式,但是这种方式会给应用程序带来一定的麻烦,比如说,应用程序如何做到把数据写到master库,而读取数据的时候,从slave库读取。如果应用程序判断失误,把数据写入到slave库,会给系统造成致命的打击。解决读写分离的方案很多,常用的有SQL解析、动态设置数据源。SQL解析主要是通过分析sql语句是insert/select/update /delete中的哪一种,从而对应选择主从。而动态设置数据源,则是通过拦截方法名称的方式来决定主从的,例如:save*(),insert*() 形式的方法使用master库,s ...
java垃圾回收算法之-引用计数器,这个算法其中一个优点便是,实时性,只要对象的引用计数器的值为0,则立刻回收。接下来介绍的标记清除算法,当对象的引用计数器的值为0时,不会立刻被回收的。博文在我的csdn博客中:
java垃圾回收算法之-标记清除
概要:工欲善其事,必先利其器。对于程序员来说,Eclipse便是其中的一个“器”。本文会从 Eclipse快捷键和实用技巧这两个篇章展开介绍。Eclipse快捷键用熟后,不用鼠标,便可进行编程开发,避免鼠标分了你的神。而掌握了 Eclipse的一些实用技巧,则可以大大提高开发效率。详细内容请看我的csdn博客:能够提高开发效率的Eclipse实用操作
概要:
MQ框架非常之多,比较流行的有RabbitMq、ActiveMq、ZeroMq、kafka。这几种MQ到底应该选择哪个?要根据自己项目的业务场景和需求。下面我列出这些MQ之间的对比数据和资料。
详细内容请看我的csdn博客:
RabbitMq、ActiveMq、ZeroMq、kafka之间的比较,资料汇总
想实现mysql的远程登录。网上找了一大推资料,都不成功。
按照网上的资料,可以使用下面的命令来实现远程登录的:
第一个命令:GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
第二个命令:flush privileges;
上面的两个命令就是说admin用户可以在任意的电脑上使用admin用户和admin密码来登录
服务器上的mysql数据库的。其中'%'表示任意的ip地址,也可以指定特定的ip地址。
此时如果你window系统的话,在其他的客户端是无法连接到远端的mysql的。
这个问题搞了一个 ...