01 2015 档案
摘要:FastSocket这个东西上次我已经说过,它使用简单,功能强大,扩展灵活,目前在新浪的生产环境中已经被广泛使用,所以它的性能,安全等各方面我们绝对可以信赖,今天我们来说一个话题,和上一讲有关,这次我们制作一个基于FastSocket的传输协议,它的意义重大,当fastSocket提供的协议不能满足...
阅读全文
摘要:对于TCP或者UDP来说,它们作于传输层的协议,有着自己的标准,或者叫格式,在我们看TCP格式之前先了解一下计算机的基础知识,字节,它是计算机世界的一个小单位,也是我们可以理会到的,如一个utf-8英文字母表示一个字节(byte),而一个汉字或者一个unicode的英文字母则表示为两个字节,或者说在...
阅读全文
摘要:首先非常感谢这位来自新浪的老兄,它开发的这个FastSocket非常不错,先不说性能如何,单说它的使用方式和理念上就很让人赞口,从宏观上看,它更像是一种远程过程的调用RPC,即服务器公开一些命令,供客户端去调用,很灵活,而它的理念上来说,它将socket编程抽象化了,让开发人员不用去关心底层通讯机制...
阅读全文
摘要:回到目录关于锁的相关知识,大家可以看我的这篇文章《知方可补不足~Sqlserver中的几把锁和.net中的事务级别》死锁我想大家都知道,当一个对话(线程)占用一个资源时,别一个线程也同时去访问它,并且其中一个优化级高的对话将SQL锁状态提升为X锁(排它锁)后,其一个对话将会被作为“牺牲品”抛弃,这种...
阅读全文
摘要:回到目录前几讲说了一下通过sqlserver的发布与订阅来实现数据的同步,再通过EF这个ORM架构最终实现架构系统的读写分离,而在使用发布与订阅来实现数据同步时,需要我们注意几点,那就是当操作被使用在“事务上下文”时,你的同步操作有可能会被延时,嘟嘟!这个不难理解,我们都知道事务有一些级别,而最高级...
阅读全文
摘要:回到目录最近做了一个数据库的读写分离项目,使用到了DbCommand拦截器,在程序开发过程中没有发现什么特别的问题,而当开发完成后,在进行测试阶段时,一个偶然的机会让我发现了,原来我的拦截器注入不只是注入一次,而是每种类型的仓储都会注入一次,这个问题事实上是相关严重的一件事,如果你的拦截器处理逻辑很...
阅读全文
摘要:回到目录本讲是通过DbCommand拦截器来实现读写分离的最后一讲,对之前几篇文章做了一个优化,无论是程序可读性还是实用性上都有一个提升,在配置信息这块,去除了字符串方式的拼接,取而代之的是section数组,这样在修改配置时更加清晰了;而实用性上,彻底改变了读和写不能共用一个仓储对象的缺点,并且在...
阅读全文
摘要:回到目录上一讲中基本实现了对数据库的读写分离,而在选择只读数据库上只是随机选择,并没有去检测数据库服务器是否有效,如服务器挂了,SQL服务停了,端口被封了等等,而本讲主要对以上功能进行一个实现,并对配置文件也进行了一些优化,让它更好的支持多个数据库服务器,分别配置各个的账号和密码及数据库服务端口等等...
阅读全文
摘要:回到目录上一讲中简单介绍了一个EF环境下通过DbCommand拦截器来实现SQLSERVER的读写分离,只是一个最简单的实现,而如果出现事务情况,还是会有一些问题的,因为在拦截器中我们手动开启了Connection链接,而在一个WEB请求时,如果你的一个变量即用到了read库又用到了write库,就...
阅读全文
摘要:回到目录前几天看了一个基于sqlserver的负载均衡与读写分离的软件Moebius,实现的方式还是不错的,这使得用sqlserver数据库的同学时有机会对数据库进行更有效的优化了看着人有做的东西,自己也想用EF来实现一个读写分离,所以就有了本篇文章,仓储大叔读写分离的思路是:1 用sqlserv...
阅读全文
浙公网安备 33010602011771号