About

hoterran 目前就职于阿里云计算系统产品部。

设计,架构,开发阿里云计算的关系型数据库云服务.

和霸爷团队一块开发了关系型数据库云服务的 MySQL Proxy(erlang).

设计,架构,开发阿里云计算的高性能监控系统 – 鹰眼 .

设计,架构,开发阿里云计算的 云监控系统 .

熟悉MySQL、Nagios、redis、Erlang、SQLite 等一些开源项目的源代码,对于 TcpIp 协议栈和开发高性能网络程序也兴趣浓厚。

原阿里软件Oracle、MySQL产品DBA,运维过TB级别的OLTP系统。

19 Comments

  1. 曾经的阿飞 说道:

    呵呵,我想跟你交换链接,以后有时间了向你学习,也看看源码。

  2. 曾经的阿飞 说道:

    我的链接是:www.themysql.com

  3. petermao 说道:

    记得加上我的友情链接呵呵~~ http://www.petermao.com~~ 一起进步~~

  4. 一路狂飙 说道:

    请问下鹰眼项目还在继续发展吗?

  5. chenbin 说道:

    给贵公司打了N个电话,说没这个人,留的电话也打不通,我实在没办法了,想咨询下你有没有可以处理此事的人?谢谢

  6. luyangkk 说道:

    你好!大牛,我最近在看redis事件处理的代码,发现redis在使用epoll的时候没有使用EPOLLET边缘触发,而是用的是默认的水平触发,我想问下,这样对高并发有影响么?谢谢

    • hoterran 说道:

      水平触发编码简单,性能是不如边缘触发,但其坑太多,冒失只有ngnix把这坑给填了.

    • luyangkk 说道:

      我目前在看redis这段代码:
      void readQueryFromClient(aeEventLoop *el, int fd, void *privdata, int mask) {
      redisClient *c = (redisClient*) privdata;
      char buf[REDIS_IOBUF_LEN];
      int nread;
      REDIS_NOTUSED(el);
      REDIS_NOTUSED(mask);

      nread = read(fd, buf, REDIS_IOBUF_LEN);
      if (nread == -1) {
      if (errno == EAGAIN) {
      nread = 0;
      } else {
      redisLog(REDIS_VERBOSE, “Reading from client: %s”,strerror(errno));
      freeClient(c);
      return;
      }
      } else if (nread == 0) {
      redisLog(REDIS_VERBOSE, “Client closed connection”);
      freeClient(c);
      return;
      }
      if (nread) {
      c->querybuf = sdscatlen(c->querybuf,buf,nread);
      c->lastinteraction = time(NULL);
      } else {
      return;
      }
      processInputBuffer(c);
      }

      我想问的是,假设客户端发送命令有32个字节,但是只读取到16个字节,那么read是正常返回16,还是-1(errno为EAGAIN)?谢谢!

  7. IM鑫爷 说道:

    hi,博主你好,最近阅读redis源代码发现一些问题,希望能与你讨论并学习之,希望看到消息向mail中发个邮件应一声,谢谢。

  8. Cindy 说道:

    你好,想问一下您对NOSQL 数据建模熟悉吗?我们公司在招兼职,有兴趣吗?
    可以加Q:1980576386,谢谢!

  9. 未来往事 说道:

    好多学习的东西哈 现在我们网站遇到了一个问题就是mysql数据库在一天中的某个特殊时间段频繁读写 期间导致网站不能正常访问 请教下 针对这样的问题有什么号的解决方案吗?

Leave a Reply