写在离开微软之时

今天,最后一天在微软工作。下周一,就要到新公司广联达报道了。

在微软工作的三年,现在回想起来,是收获不少的。问LY,对我在微软最有映像的事情是什么?她的感觉是,礼品太多,选择困难。由此可见,这边的待遇实在是不错的。

在这三年,我一直在做CDN服务,一直在做数据处理部分。在离开的时候,虽然到处是坑,觉得数据处理的基本体系还是有了的,系统基本还是能比较稳定的运行满足日常的需求。如下记录下经验感觉,我是个凭感觉做事的人。

  • 无论做什么,一定要有测试环境,和测试方法,最好有灰常方便的测试。越是测试环境难搭,越是值得花时间去弄好。在数据处理部分,测试就是一个难办的事情。调度,处理,存储,对测试都有挑战。把东西分分清楚,有方便的测试很重要。
  • 日志系统是个非常重要的东西,尽量多打日志,打的日志要可查,有意义。日志不嫌多的。
  • 系统是需要个监控的,没有监控,相当于依赖祈祷希望服务是好的。
  • 选对技术很重要,当你感觉难受的时候,反思下是否技术选型选错了。
  • 系统进化,或者推倒式进化是常见的,有必要的,当感觉到处是坑,疲于应付的时候,反思下,是否到了要推导重来的时候?推导重来,有时候真的能使事情变好的。但是,记住,推导重来是容易的事情,修改才是困难的事情。在还没有完全理解老系统,就盲目上新的的时候,你会可能有更多的坑。

在这期间主要相关的技术记录下,可能接下来几年又会是另一些面孔了

  1. Azure Cloud Service
  2. Azure Storage Blob/Table/Queue
  3. Azure EventHub
  4. Mysql
  5. Elasticsearch + Kibana
  6. Azure Stream Analytics

稍微有点遗憾是没有玩公司的微服务Service Fabric。好的地方是真心的喜欢Linux了。

新的机会,新的挑战,全力以赴。

如何处理困难的沟通

在工作中,或多或少,都会遇到困难的事情,或坏的结果,或需要PUSH做啥事情(统称Negative Issues)等需要和人沟通。这个时候该采取什么方式,通过什么语气,以什么态度去做呢?我们经常犯的错误,是自认为客观的就事人事,经常会在人遇到困难的时候伤口撒盐。

昨天参加了一个印度的老师培训的如何写邮件的培训,其中最大的收获很触动我的就是怎么处理如上的情况。记录如下,希望自己能做到。

  1. 避免邮件等非直接沟通,需要直接面对面或者电话沟通,最少要IM实时沟通。
  2. 最最重要的,先询问为什么。确认理解对方的处境。
  3. 一起想办法解决,可以是提供Compromise的零时方案一起通向共同目标。遇到困难的人需要的是帮助。

另外,对于何时写邮件,写给哪些人,学到如下经验需要应用。

  1. 消极的信息尽量少Audience。
  2. 沟通过后的积极结果,可以写邮件给大点的Audience。
  3. 避免无意义的CC,特别是老板。

设计时间验证的一个问题

当设计API或资源URL防盗链策略的时候,很多时候需要加上时间参数去做校验。当加时间参数的时候,如下两个问题是要考虑清楚的。

1)服务器时区问题,所有的计算都应该换算成UTC时间。

2)客户端的时间和服务器的时间非常有可能会有差距,也就是不准对不上。如在客户端可能是10:01:01秒,但是服务器端,还在10:01:00.这时,就需要我们在校验开始时刻和结束时刻加上一些允许的误差。并且这个误差最好可以配置,以免不时之需。

今天我们就遇到了服务器比客户端慢一秒,导致客户端的所有请求由于都发生在将来而被拒掉。