Skip to content

Instantly share code, notes, and snippets.

@zhujunsan
Created March 15, 2017 10:25
Show Gist options
  • Save zhujunsan/f06d8d6064a22b9906d353d5426737d4 to your computer and use it in GitHub Desktop.
Save zhujunsan/f06d8d6064a22b9906d353d5426737d4 to your computer and use it in GitHub Desktop.
百姓 饿了么 交流
  1. 服务化粒度 业务层面在选择进行服务化时,是按照核心功能、核心实体,还是一种类型功能?具体参照标准希望有一些经验上的分享,最好有具体的例子或坑。

  2. 服务化迁移 什么样的业务需求会被归纳到服务中,服务提供方和业务开发是怎样高效协作的?

  3. 服务化维护

    1. 服务层改动上线可能会导致业务层的报错,但是业务层具体调用点可能会很多且比较散,如何确保底层改动业务层可以有check的机制。
    2. 因为app平台需要有版本的控制,可能对服务层的依赖也需要版本化。服务层的版本及业务层调用之间如何管理比较合理。
    3. 业务需要看一些数据,一个模块被服务化后,可能服务本身有自己的监控打点,但是不能满足业务层打点需求,公司是否有统一的业务数据监控解决方案,如何考虑的?
  4. IDL选择 Thrift、Protobuf、Avro(当年为什么选了Thrift)?

  5. 何时应该让RPC介入?如何过渡?

    1. RPC对开发效率有多大影响,如何与性能上的提升做权衡
    2. 是核心业务采用,还是全公司统一推行
  6. 能否只用thrift作为IDL,而不用它的序列化和传输协议 比如采用MessagePack作为序列化协议,采用HTTP2作为传输协议

  7. 何时应该让降级/熔断/访问控制机制介入?

    1. 降级,熔断机制分为几层?是否需要提供框架级别的熔断机制?
    2. 怎么做限流?是在server框架层做还是单独做一层gateway?
    3. 访问控制呢?
    4. 对快速失败的看法
  8. 何时应该让服务发现/配置管理介入?

    1. 早期阶段不做这个的话,需要在架构上做什么预留的准备工作?
  9. 有哪些指标是必须监控的?预警机制如何?日志收集方案?

  10. 持续集成的方案

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment