摘要:
负载均衡服务大体上可以分为两大类:一类是代理类的负载均衡服务;另一类是客户端负载均衡服务。 代理类的负载均衡服务,以单独的服务方式部署,所有的请求都要先经过负载均衡服务,在负载均衡服务中,选出一个合适的服务节点后,再由负载均衡服务,调用这个服务节点来实现流量的分发。 由于这类服务需要承担全量的请求, 阅读全文
摘要:
package util import ( "crypto/md5" "encoding/hex" "fmt" "os" "runtime" "strconv" "time" ) var strCGroupLogID string = "" func LogRecord(msg string, le 阅读全文
摘要:
在分布式微服务的架构中,不同业务的项目之间通过RPC服务相互调用,方便了可扩展性,如下图 假如在某个时间节点某个接口请求出现了请求比较慢的问题,而整个接口的流程可能涉及到多个RPC服务之间的调用,那么该如何排查问题呢? 先说一下一体化架构的一贯方法 最简单的思路是:打印下单操作的每一个步骤的耗时情况 阅读全文
摘要:
直接上方法,这里我的目的是想把这四次commit合并成一次 这里使用到一个命令:git rebase -i, 既然要把最上面的合并成一次,那么git rebase -i 后面跟的参数应该是想要合并的最前面commit id的上一个,就是d6c2b....这个 git rebase -i d6c2b9 阅读全文
摘要:
通过RPC框架,能够解决服务之间,跨网络通信的问题,这就完成了微服务化改造的基础。但是在服务拆分之后,需要维护更多的细粒度的服务,面对的第一个问题就是,如何让RPC客户端知道服务端部署的地址,服务注册与发现的问题。 你所知道的服务发现服务注册和发现不是一个新的概念,比如说,Nginx是一个反向代理组 阅读全文
摘要:
在做了服务化拆分之后,把业务逻辑都拆分到了单独部署的服务中,那么假设在完成一次完整的请求时,需要调用4~5次服务,计算下来,RPC服务需要承载大概每秒10万次的请求。那么,你该如何设计RPC框架,来承载如此大的请求量呢?你要做的是: 选择合适的网络模型,有针对性地调整网络参数,以优化网络传输性能;选 阅读全文
摘要:
微服务化架构 在这个架构中,将用户、订单和商品相关的逻辑,抽取成服务独立的部署,原本的Web工程和队列处理程序,将不再直接依赖缓存和数据库,而是通过调用服务接口,查询存储中的信息。有了构思和期望之后,为了将服务化拆分尽快落地,你们决定抽调主力研发同学,共同制定拆分计划。但是细致讨论后发现,虽然对服务 阅读全文
摘要:
常见的中型服务架构 目前来看,工程的部署方式还是采用一体化架构,也就是说所有的功能模块,比方说电商系统中的订单模块、用户模块、支付模块、物流模块等等,都被打包到一个大的Web工程中,然后部署在应用服务器上。 一体化架构的痛点 先来回想一下,当初为什么选用了一体化架构。在电商项目刚刚启动的时候,只是希 阅读全文
摘要:
什么是消息延迟? 消息队列在消费过程中大量堆积就是消息延迟,也就是消费的频率跟不上生产。比方说,生产者向队列中一共生产了1000条消息,某一个消费者消费进度是900条,那么这个消费者的消费延迟就是100条消息。 如何监控消息延迟 使用消息队列提供的工具,通过监控消息的堆积来完成; 通过生成监控消息的 阅读全文
摘要:
为加强和规范紧急事故/故障的处理和报告流程,保证事故/故障的快速恢复,使事故损失降低到最低程度,特制定本制度。 一、适用范围 本流程适用于XXX所有产品线,所有线上的事故处理。 线上事故是指在线上服务中出现的功能故障或中断、数据错误等现象,对用户体检、流量、收入、品牌产生严重影响的现象。 除通常意义 阅读全文