关于云

今天看了一篇关于云服务的文章,正好目前正在做一个有关部门的云平台。

总结一下,物理机->IaaS(虚拟机/Xen/openStack)-->PaaS(SEA/BEA)-->泛PaaS(docker,CoreOS)-->分布式SaaS(ownCloud,diancloud);其实SaaS也就是常说的软件即服务,它其实是不依赖前面几个的,出现的也不见得比IaaS晚,如一个CMS、ERP系统等都可以叫做Saas概念,但是这些都是集中式的SaaS服务,一旦服务器出问题其他人就不能使用了。目前的项目正式要建设一个分布式的SaaS,使用Docker容器,利用CoreOS 核心开源组件ETCD管理资源及Docker 。 为每个用户提供一个独立的服务,对于我们这个小小的公司来说完全是一种超前思想,人力的和技术的紧缺面临着各种问题呀~~~。 Alt text

最近出现的一个问题:由于每个用户都有自己独立库,所以采用了sqlite这种轻量级的文件数据库,但当用户不在线,容器没启动时需要往用户库里写数据就必提供一个类是数据同步的项目,目前这个同步数据项目性能非常低下,~~~都不敢拿给测试做性能测试,

初步想法是加一个redis缓存各个sqlite连接(因为重新打开连接会耗费大量时间),另外将同步锁(由于sqlite是不支持多线程写的)去掉,采用无锁编程,这方面有很多优秀的框架,如Disruptor / akka 。

Spring jmsTemplate 连接apache activemq 优化配置

最近在使用jmsTemplate对apache activemq消息进行持久化操作时发现相当慢,在看过一些资料以及《ActiveMQ in Action》译本后总算是解决了性能问题,在找资料的时候还有了意外的发现 *Disruptor 高并发编程架。

一.生产者优化

其实在《ActiveMQ in Action》一书中明确提到非持久化消息效率高,而且有各种措施来确保消息的可靠性,也就是说它的最重要性能调优参数其实就是非持久化消息,然而公司领导还是决定保守的使用持久化消息~~情何以堪.况且听说ActiveMQ5.9以后的还支持zookeeper

<!-- 设置发送连接池,提高性能 --> <bean id="poolJmsSenderFactory" class="org.apache.activemq.jms.pool.PooledConnectionFactory"destroy-method="stop"> <property name="connectionFactory" > <bean id="mqConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory <!-- ...

    

Docker做运行环境,django搭建个人博客

写作目的:前段时间刚看完一本docker书籍却没有多少实践,借此机会希望能够通过实践而知新,另外python的第三方包习惯性的一个命令就下载了,部署的时候就岂不又要下载一次?心想docker不就是为此而生的么。美哉!docker做运行环境,第三方包什么的都下载到容器里面去,而项目文件都方自己机器上,然后挂载到容器上去运行。到时候无论是部署还是要换电脑,特别是对于凄惨的没有外网的办公环境更是好了,只需要把容器打包,代码打包U盘一考便成了。

1.准备工作

和maven一样,直接从外国服务器拉取速度慢不说,还经常连接不上,况一个images至少10M+,我可不想一天都在等着pull images 这里推荐DAOC(关键里面还有 图解docker原理,代码解析等) ,注册后点加速就有一个简明的教程。 不多说,ubuntu为例

1).下载docker

#dokcer 下载 sudo apt-get install docker.io

其他的参考我大docker官网

2).配置国内mirror

和maven一样,直接从外国服务器拉取速度慢不说,还经常连接不上,况且一images至少10+M,我可不想一天都在等着pull images ...