####2012-12-22
今天做了一天家务,周末比上班还忙啊。晚上9点半开始写了点代码,想把外部DNS选择机制改为:最短请求时间。
晚上从9点开始写代码,终于到12点写完了。开始尝试用TreeMap做一个按照响应时间自排序的数据结构,类似redis的SortedSet。后来发现:如果尝试改变TreeMap的key值,TreeMap并不会重新排序,到后面就会出现无法预知的结果了!还有一个办法就是写一个incrScore的函数,并且限定score为double类型,但是这时score就没法用自定义类型了,也不是很好用。
所以最后干脆在弹出时做了一个筛选,每次选出所有元素,并做一个筛选。后来这个算法就能正常运行了。
####2012-12-23
今天下午写了一点代码,尝试把超时跟平均响应时间分开了,分为正常响应时间、次数和超时次数。如何才能做到多个服务器可用性的判断?这个问题有很多种方案,希望找到一个可行有效的方案。
这又涉及到业务的东西了。上班写一堆业务,下班不想写业务啊写业务。想做一个使用Selector,多个DNS服务器同时forward,使用最快的结果作为响应。但是后来测试,用途不大。
自己在这里研究这些意义不大,这应该是一个很common的问题。晚上研究一下load balance和failover的东西。
感觉这几天写的load balance的东西都太不成熟,需要等研究一下相关机制之后,再来继续深入。
今天也没有想到其他的优化点了。开发先到这里吧,以后做一点推广方面的工作吧,写一个站点,然后把东西挂上去。老薛主机的下载速度太慢了,看来要找个地方把文件放进去。