• 【扩列应用】双人匿名匹配聊天室

    基于GatewayWorker+Thinkphp5.1写的一套匿名匹配聊天室,供大家一起学习与交流

    阅读全文

  • 开源小仓库

    【仓库地址】https://github.com/xhyonline

    阅读全文

  • 关于作者

    关于我

    阅读全文

[译]自定义Go Json的序列化方法|转载

2021年2月4日 0 条评论 838 次阅读 0 人点赞

编译自 Custom JSON Marshalling in Go。 我们知道,通过tag,可以有条件地实现定制Go JSON序列化的方式,比如json:",omitempty", 当字段的值为空的时候,我们可以在序列化后的数据中不包含这个值,而json:"-"可以直接不被JSON序列化,…

分析Go程序的Off-CPU性能|转载鸟窝的博客

2021年2月3日 0 条评论 931 次阅读 0 人点赞

性能问题可以分为两种类型: On-CPU: 线程花费在CPU上的时间。 Off-CPU: 线程阻塞在I/O、锁、计时器、页交换等场景中的等待时间。 Off-CPU性能分析砖窑用来测量和研究off-CPU时间,所以它不同于CPU profiling只检查线程在CPU上的运行时间,而是专门研究阻塞的线程…

Kafka理论之Partition & Replication

2021年1月27日 0 条评论 1.01k 次阅读 0 人点赞

基于分区和副本集的相关知识,初步了解Kafka的数据存储、同步原理 Kafka基本架构 上图为Kafka的典型架构图,对于消息的生产以及消费逻辑不在本文的讨论范畴,主要就Broker的数据存储做以浅显的总结。首先解释一下常见的相关专业术语: Broker:消息中间件处理节点;每个Kafka服务节点称…

Go 网络 IO 模型源码分析|转载

2021年1月23日 0 条评论 1.38k 次阅读 1 人点赞

在过去,传统的网络编程模型是多线程模型,在主线程中开启一个网络监听,然后每次有一个客户端进行连接,就会单独开启一个线程来处理这个客户端请求。 然而,如果并发量比较大,服务端就会创建大量的线程,而且会有大量的线程阻塞在网络IO上,频繁的线程上下文切换会占用大量的cpu时间片,严重影响服务性能,而且大量…

TCP与UDP 数据报文

2021年1月8日 0 条评论 1.19k 次阅读 0 人点赞

TCP 我们如何区分一台电脑上的不同应用进程?就像我们区分人一样,不同的人给标识不同的名字,偶尔还会遇到重名的,在计算机上重名的现象就禁止发生的,不同的应用进程,区分它们的是不同的端口号,有人占了这个端口运行,就不允许别人使用这个端口,所以不管是UDP协议还是TCP协议中端口号都尤为重要,源端口和目…

加载更多