84年的矿泉水

博客园 首页 新随笔 联系 订阅 管理
  81 Posts :: 0 Stories :: 624 Comments :: 0 Trackbacks

2012年1月6日 #

摘要: 一年又过去了,2011年对我而言不是一个很完美的一年,至少没有09,10年完美。 首先,我跳槽了,离开了5173.5173是一家我需要严重感谢的公司,我在足下起步,然后在5173得到升华,但是在5173工作2年后,我选择了跳槽。跳槽的原因并不是为了金钱(真的不是为了金钱),而是自己的理念、想法和部门、领导的理念产生了严重的偏差,导致了工作的过程越来越不开心,越来越觉得难受,所以最后还是选择了离开。离开后,没有多久,部门领导也离开了。如果我的决定晚一点下的话,也许我就不会离开5173了。不过令我欣慰的是:我原先的关系还保持至今,包括对同事、下属的。 在5173,最值得我骄傲的是搞了一个D...阅读全文
posted @ 2012-01-06 23:06 xvhfeng 阅读(1709) 评论(14) 编辑

2011年10月19日 #

摘要: 这段时间都没有写任何的blog,主要的精力都放在了albian的开发上。因为一个朋友创业,原本有意加入之,所以加紧了albian的开发,但因为额启动成本的问题,这段时间开发的albian是java版本的,俗称albianj。后来因为了解的深入,感觉这个创业项目不靠谱就放弃了。但是albianj基本上写完了。总体结构、思想都没有任何的改变,但是代码结构albianj和albian.net相比成熟很多。albian.net会在下次重构的时候更改代码结构。 这次先来说一下albian的使用(因为java版本和net基本上使用方法一样)。和平常的开源软件一样,albian也有配置文件,而且配置文...阅读全文
posted @ 2011-10-19 21:15 xvhfeng 阅读(793) 评论(1) 编辑

2011年8月1日 #

摘要: 很久之前就想写这篇文章,但是作为一个技术人员,苦于但是只是心中有概念和想法,实施还没有真正的开始,所以一直没有写。现在,albian的net实现主体部分已经完成了75%左右,单机已经可以勉强凑合的运行了,所以心中有了底气,才写这篇关于albian架构的文章。这一篇完成后,下面一连几篇都将会讲述albian的使用方法,从简单开始一直到复杂。 说起albian的架构,就要说起albian的起源。albian其实来源于本人在电商圈内的一些开发经验和实际的项目实施。虽然电商的经验不多,但是加上“站在巨人的肩膀上”,也能勉强的凑合着把albian搞出来。由此可见,albian其实完全是为了电商行业量身.阅读全文
posted @ 2011-08-01 09:05 xvhfeng 阅读(1046) 评论(1) 编辑

2011年7月21日 #

摘要: 刚刚被一同事叫去看一个问题,问题的表象是程序会周期性的报“集合被修改,循环无法继续”的异常,查了半天的问题,最后找到问题如下: 因为本地缓存很少过期,所以我们就将本地的缓存全部放入hashtable中,而hashtable中的value一般情况下就是IList<T>类型,而hashtable中的数据也不是一定不过期,所以我们就增加了缓存的更新功能,好了,问题出现了。 代码大致是这样的 private readonly static hashtable ht = hashtable.sync(new hashtable()); public static hashtable Cach阅读全文
posted @ 2011-07-21 13:44 xvhfeng 阅读(1524) 评论(8) 编辑

2011年7月20日 #

摘要: 今天我在weibo上发布了albian将放弃支持缓存同步后,引起了以前的伙计们一片的谈论声。有认为缓存同步不是一项好的解决方案的、也有认为没有缓存同步将无法使用本地缓存的、还有担忧一台机器的本地缓存各自为政导致全站缓存状态错乱的......,但是很不幸,albian还是决定不支持本地缓存的同步。 缓存:主要的目的是用来为了让客户得到更高的响应。这是没有错的。但是从架构人员来说,当你考虑使用一种方案来实现某一目的时,你不能只从一点看,约束条件有很多。比如金钱投入、扩展性(这个很重要)等等。 缓存从架构上分,又有本地和分布式之分。本地缓存一般存储在提供服务的机器上,最大的优点就是进车内通讯,得到.阅读全文
posted @ 2011-07-20 08:30 xvhfeng 阅读(919) 评论(5) 编辑

2011年7月19日 #

摘要: 到目前为止,albian的ORM开发工作基本上那算是告一个段落了。下面的就是测试和完善。经过测试以后,我会写一篇怎么使用albian的orm完成基本的数据库增删改查工作,并且加上数据库路由功能等等。当然对于一些未经历过系统架构的XT,偶也会增加一些系统架构的示意图,当然主要还是围绕着albian的ORM和数据库路由功能展开。 在这一阶段的开发过程中,和往常一样,还是碰到了一些问题。 1. 在以往的开发中,泛型是我们非常喜欢的代码增强。但是对于albian而言,就泛型碰到了一些使用上的失误。albian的数据对象都是直接或者间接派生于IAlbianObject接口,而对于albian orm托.阅读全文
posted @ 2011-07-19 08:58 xvhfeng 阅读(883) 评论(1) 编辑

2011年7月11日 #

摘要: 这个星期虽然工作很忙,但是albian的开发进度还是没有拉下。目前albian已经完成了简单的IOC功能(至少对于albian够用了);还有albian的ORM已经完成的差不多了,下个星期应该可以完成ORM,但是不带cache的。 这个星期的开发中,也碰到了一些问题。记录下来和大家一起探讨。如果对于这些问题有更好的解决方案,欢迎联系我。 1.ORM中的Save功能。其实Save功能很简单,它主要完成的工作就是向数据库中insert或者update一条数据。当需要save的记录不存在于数据库中时,就采用insert操作;当需要save的记录已经存在数据库中时就采用update操作。开始我是想使.阅读全文
posted @ 2011-07-11 09:16 xvhfeng 阅读(1318) 评论(6) 编辑

2011年6月28日 #

摘要: 昨天晚上未加班,回家继续albian。发现了两个问题。 目前albian已经可以简单的保存数据了,albian提供了2个create的重载:保存一个实体、保存多个实体。在保存一个实体的时候未发生问题,数据能准确的根据路由保存到我们指定的数据库和表。在保存多个实体时,开始测试了保存两种不同的实体:比如一个order、另外一个bizoffer,也不会出问题。但是在保存两个相同类型的实体时(比如两个order)。就发生了问题:后面的一个实体数据会覆盖掉前面的一个实体数据。开始怀疑是不是在分配storagecontext的时候出错了,后来debug未发现;再怀疑是不是sql语句出现了问题,debug.阅读全文
posted @ 2011-06-28 10:07 xvhfeng 阅读(393) 评论(1) 编辑

2011年6月27日 #

摘要: albian经过了一个星期的开发,目前一条主线已经完成了。能完成简单的单实体insert操作,并且已经支持了database routing。就目前的开发进度,语句不带cached的albian orm会在一个半月之后完成。 在这段时间内,开发碰到了一些问题,自己也得到了一些启示。 1.首先是databse connection pool问题。一般net链接的都是sql server数据库,而一般我们需要使用connection pool的时候,我们经常在connection string加入pooling = true,max poll size 和 min pool size来控制。一般.阅读全文
posted @ 2011-06-27 08:30 xvhfeng 阅读(1032) 评论(3) 编辑

2011年6月23日 #

摘要: Albian是一个开源的企业级开发库。它提供了我们在开发过程中使用的ORM、IOC等功能。但是如果Albian只是提供这些功能,那么现在市面上随便找找开源的框架就可以集成。Albian真正的亮点在于它提供的另外几个实用但是市面上很少提供的功能。数据库(表)路由、读写分离、异构数据库、分布式锁服务、缓存同步,分布式锁等等功能。 功能解释: ORM、IOC:谁都知道,不解释; 1.数据库(表)路由:通俗一点说句是分库分表。单我们的数据量猛增的时候,任何一个关系型数据库都无法使用单库、单表来支撑。那么我们这个时候就会想到按照业务分。这也是一种不错的办法。但是当一个业务的数据大到单库单表无法承受时,.阅读全文
posted @ 2011-06-23 13:43 xvhfeng 阅读(1623) 评论(4) 编辑