Go语言中文网 为您找到相关结果 8

载:罗辑思维在全链路压测方面的实践和工作笔记

载:罗辑思维在全链路压测方面的实践和工作笔记 业务的知名度越高,其背后技术团队承受的压力就越大。一旦出现技术问题,就有可能被放大,尤其是当服务的是对知识获取体验要求颇高的用户群体。提供知识服务的罗辑思维主张“省时间的获取知识”,那么其技术团队在技术实践方面是如何践行省时间的理念的呢?本文将还原罗辑思维技术团队在全链路压测上的构建过程,为您一探究竟。全链路压测知多少保障服务的可用性和稳定性是技术团队面临的首要任务,也是技术难题之一。例如,罗辑思维提供的是知识服务,服务的是在高铁、地铁和公交车等场所利用碎片时间进行学习,在凌晨、深夜都有可能打开App,以及分布在海外的全球用户。这就需要得到App提供7*24的稳定高性能的服务和体验。在实际生产环境中,用户的访问行为一旦发生,从CDN到接入层、前端...阅读全文

博文 2019-02-24 13:34:42 meng_philip123

Jaeger 全链路实战

链路追踪 当今互联网正在往微服务化发展,复杂的模块,繁琐的层级调度。数不清的机器,看不尽的日志,各样的语言开发,形形色色的团队。排查问题难上加难,这就导致了链路追踪的出现。今天来分享下实战 预期收益 1、一键查询上下游业务2、链路耗时实时性反馈 服务安装启动 首先去https://www.jaegertracing.io/download/ 下载对应操作系统镜像。本地测试的话 建议直接运行./jaeger-all-in-one如果是线上环境建议分开操作 Agent 我先简单说下 Agent是干什么的吧,它主要负责收集程序、监听UDP端口 将数据批量发给collector. 独立部署,方便解耦。那么独立部署自然需要启动进程,下边我是以ES数据落地为准 启动的服务。 export SPAN_ST...阅读全文

博文 2019-10-14 21:32:45 xiaowei520

Go中链路层套接字的实践

介绍 接上次的博客,按照约定的划分,还有一层链路层socket。这一层就可以自定义链路层的协议头部(header)了,下面是目前主流的Ethernet 2(以太网)标准的头部: 相比IP和TCP的头部,以太网的头部要简单些,仅有目标MAC地址,源MAC地址,数据协议类型(比如常见的IP和ARP协议)。 但多了尾部的FCS(帧校验序列),用的是CRC校验法。如果校验错误,直接丢弃掉,不会送到上层的协议栈中,链路层只保证数据帧的正确性(丢掉错误的)。具体数据报的完整性由上层控制,比如TCP重传。链路层最大长度是1518字节,除去18字节的头部和尾部,只剩1500字节,也就是MTU(最大传输单元)的由来,并约定最小传输长度64字节。 服务端 用 ifonfig 查看本机的网络设备(网卡):eth0...阅读全文

博文 2018-07-17 10:35:17 wuhui115

【协议分析】rpcx网络协议分析之tcp

前言: 最近在学习rpcx,为了更清楚搞懂rpcx的各种协议组成。对rpcx的协议做了一个深入学习。 系统: mac OS 10.14.3golang: go1.12 darwin/amd64调试工具:lldb抓包工具:tcpdump # (一)tcpdump工具使用tcpdump是一个网络抓包工具,tcpdump支持针对网络层、协议、主机、网络或端口的过滤。并提供and、or、not等逻辑语句来帮助你去掉无用的信息。tcpdump格式信息如下:参数详解 -a -- 将网络地址和广播地址转变成名字 -d -- 将匹配信息包的代码以人们能够理解的汇编格式给出 -dd -- 将匹配信息包的代码以c语言程序段的格式给出 -ddd -- 将匹配信息包的代码以十进制的形式给出 -e -- 在输出行打印...阅读全文

博文 2020-04-01 14:34:32 c_rain

golang mmo游戏 aoi算法

type( //十字链路 GameNode struct { xPrev *GameNode xNext *GameNode yPrev *GameNode yNext *GameNode mObj IGameBase X int Y int } ) var( m_XNode *GameNode m_YNode *GameNode ) //添加到十字链路 func AddNode(node* GameNode){ //x handle var tail *GameNode bFind := false if m_XNode == nil || m_YNode == nil{ m_XNode, m_YNode = node, node return } for curNode := m_XNo...阅读全文

博文 2019-08-12 18:07:33 bobohume

Service Mesh在核心链路层的能力

基础概念Service Mesh最核心有两个概念:数据面和控制面。数据面数据面负责做网络代理,在服务请求到链路上做一层拦截与转发,可以在核心链路上实现服务路由,链路加密,服务鉴权等。技术实现可以采用Golang进行高性能网络代理的研发,承载核心应用流量。控制面控制面负责做服务发现,服务路由管理,请求度量等。核心链路的诉求在面对核心链路大促大流量场景的需求下,解决链路稳定性是极大的挑战。能力支持Service Mesh作为底层高性能网络代理,支撑RPC,MSG,Gateway等业务场景。 IO模型Service Mesh在实现上,支持两种IO模型,一个是Golang经典模型,goroutine-per-connection;一个是RawEpoll模型,就是经典的Reactor模式,IO多路复用...阅读全文

博文 2019-11-14 23:33:27 更多精彩内容开源 | Service Mesh 数据平面 SOFAMosn 深层揭秘金融级分布式架构天池中间件大赛Golang版Service Mesh思路分享王亚普Service Mesh在企业级应用的生存之道博云技术社区Dubbo Mesh 在闲鱼生

5月26日流水账

了解了一下 Golang 语言的并发编程,开拓了知识面。Golang 用 go 开辟一个协程,利用 channel 这种数据类型进行协程间的通信。之所以说Golang 语言天生具有高并发性,是因为其对并发程序编译速度非常快,超过Java。 做了两道Leetcode子数组的题,收获挺大的。 TCP 是面向连接的,端到端的;UDP面向无连接。TCP 像打电话,UDP像发报文。 网络传输四层模型 : 应用层 -> 传输层 -> 网络层 -> 链路...阅读全文

博文 2020-05-27 22:32:43 禁卫君