
后台开发
文章平均质量分 81
Sanjay_f
这个作者很懒,什么都没留下…
展开
-
业务系统需要什么样的ID生成器
ID 生成器在微博我们一直叫发号器,微博就是用这样的号来存储,而我微博里讨论的时候也都是以发号器为标签。它的主要目的确如平常大家理解的“为一个分布式系统的数据object产生一个唯一的标识”,但其实在一个真实的系统里可能也可以承担更多的作用。概括起来主要有以下几点:唯一性时间相关粗略有序可反解可制造下面我会分别讲每个作用后面的考虑和权衡,也会对比介绍一下业界已知的几种 ID 设计。要唯转载 2015-10-24 15:39:15 · 628 阅读 · 0 评论 -
Docker的那些事(1)--什么是Docker和如何迁移
Docker与VM的区别。1.肥胖的虚拟机VM 虚拟机(vm)是一个了不起的工具,它有助于进一步抽象运行时环境的物理硬件。 但不幸的是在启动和执行,有一个非常陡峭的性能损失。 vm的大部分问题的原因是因为重复。 要理解这种重复,想想Linux操作系统的结构。 有一个清晰的分离, Linux内核负责管理深层网络和线程等任务和内核之外的一切的用户空间。 virtualbox 和 VMwa原创 2015-10-24 10:44:44 · 5504 阅读 · 0 评论 -
淘宝tair--分布式 key/value 存储引擎
1.简介tair 是淘宝自己开发的一个分布式 key/value 存储引擎. tair 分为持久化和非持久化两种使用方式.1.非持久化的 tair 可以看成是一个分布式缓存。2.持久化的 tair 将数据存放于磁盘中。为了解决磁盘损坏导致数据丢失, tair 可以配置数据的备份数目, tair 自动将一份数据的不同备份放到不同的主机上, 当有主机发生异常, 无法正常提供服务的时候,转载 2015-10-24 15:34:03 · 2310 阅读 · 0 评论 -
使用Docker打包Java/Spring Boot应用
使用Docker打包Java/Spring Boot应用 如果你是使用Linux,那么可以直接使用打包管理器,通过下面命令确认正常工作:$ sudo docker run ubuntu:14.04 /bin/echo 'Hello world'Hello world 如果你使用windows或OSX,那么boot2docker项目能够为你祈祷一个轻量的Linux虚拟机,安装boot2dock转载 2015-10-24 23:42:54 · 12248 阅读 · 0 评论 -
数据库的读写分离方案
做数据库MySql,oracle等的读写分离.目前有以下三种方案应用层 对读写操作进行控制的方式,如通过spring管理datasource的route,由aop或程序控制读写数据源. 对于小型程序可以这么写,因为快,简单。中间件 中间件维护主从数据关系,对应用层提供统一访问接口.完全解除程序耦合。 这是一种比较推荐的写法。通过使用中间件,我们能够统一数据的访问。 通过这种“统一数据访原创 2015-10-24 21:31:53 · 4531 阅读 · 0 评论 -
Hystrix 使用与分析
一:为什么需要Hystrix?在大中型分布式系统中,通常系统很多依赖(HTTP,hession,Netty,Dubbo等),如下图: 在高并发访问下,这些依赖的稳定性与否对系统的影响非常大,但是依赖有很多不可控问题:如网络连接缓慢,资源繁忙,暂时不可用,服务脱机等.如下图:QPS为50的依赖 I 出现不可用,但是其他依赖仍然可用. 当转载 2015-10-29 21:29:18 · 1861 阅读 · 0 评论 -
Android网络优化1--Native Socket
为何要优化很多一般的程序,我们都是使用类似如OkHttp,HttpClient,HttpUrlConnnection等就解决了。 但现有的网络协议大多数都缺少对移动网络的优化,而移动网络高RTT和高丢包的特性, 导致经常我们的用户觉得我们的程序很“慢”,使用的流量很大,整个程序很渣渣,用户体验很差! 所以当程序发展到一定程度,我们就希望我们的“网速”快点,用户体验好点,流量少点。 而移动网络的通原创 2015-11-14 16:47:45 · 3627 阅读 · 0 评论