游鱼的编程旅行
13天前在线
全职 · 1000/日  ·  21750/月
工作时间: 工作日14:00-18:00工作地点:
服务企业: 2家累计提交: 0工时
聊一聊

使用APP扫码聊一聊

个人介绍

我是全日制本科学历,有4年多 PHP 和近2年的 Golang 开发经验。技术栈主要包括 Golang、MySQL、Redis、Kafka,gRPC等,在团队内部做过多次技术分享,工作之余喜欢钻研技术,阅读技术书籍,编写一些工具代码,并且具备较强的文档输出能力,在掘金、cs***都有发布过技术文章。自己希望能加入一个积极向上,崇尚“科技改变世界”的团队。

工作经历 和TA聊聊

APP扫码和程序员直接沟通

  • 该用户选择隐藏工作经历信息,如需查看详细信息,可点击右上角“和TA聊一聊”查看

教育经历 和TA聊聊

APP扫码和程序员直接沟通

  • 该用户选择隐藏教育经历信息,如需查看详细信息,可点击右上角“和TA聊一聊”查看

语言

普通话
0
1
2
3
4
5
0
1
2
3
4
5

技能

Kafka
gRPC
Docker
gorm
Redis
HTTP
MySQL
微服务
0
1
2
3
4
5
0
1
2
3
4
5
作品
极速钱包支付系统

一、主要技术栈: PHP,MySQL,Redis 二、项目概述: 我们的支付系统主要是起了一个承上启下的作用:由市场上的小贷商户(app )对接我们的支付系统后,通过 HTTP 方式请求我们的支付系统,支付系统进行相关的信息校验入库,再异步对接各个银行支付渠道(宝付,易宝,中金等等)。 对于处理中的订单,系统会通过主动查询银行渠道,或者接收银行渠道回调两种方式,来查询订单的确切状态。 三、项目特色: 1、分布式锁限制同一笔订单的访问频率; 2、通过 MQ 异步向银行渠道发送扣款请求,保证商户请求不阻塞; 3、对于数据量比较大的订单表,新数据后续采用分区表的形式管理,不再进入老表; 4、数据库读写分离。针对db的写操作,我们走主库,而针对读操作,主要走从库; 5、负载均衡。由于支付系统并发量较高,我们采用了负载均衡的随机算法,对于商户的流量进行分流; 6、 心跳机制。由于是异步向银行发出扣款请求,我们需要通过轮询的方式,获取小贷商户的待处理订单。在这个过程中,如果轮询的时间间隔过长,我们会触发告警; 7、接口安全策略 (1)白名单机制。我们只针对购买我们服务的商户开放白名单接口访问; (2)接口签名。我们会和商户约定好接口签名方式,将商户入参的签名字符串和我们这边计算的字符串进行比对。

0
2025-05-22 21:22
下载次数:0
¥10000
IM网页聊天室

一、主要技术栈 Golang,MySQL,Redis,websocket,HTTP 二、项目概述 该网页聊天室,实现的主要功能有:单聊、群聊、加载离线消息、加载历史消息、建群、添加好友、 登录、注册等。 三、项目架构 该项目主要包含web、im-balance、im-api、im-manage、im-router几个部分。 1、web 这个部分代表前端部分,主要是用一些基本前端技术实现各个页面的展示,包含登录页、注册页、聊天室页面、好友列表页等等。 web首先会从im-balance(负载均衡侧)获取到当前登录用户可用的im-manage(真正的消息服务)机器ip,将其缓存在localStorage之后,会向im-manage发起websocket连接。 2、im-balance 这是负载均衡侧,由Golang实现,主要是给前端每个登录用户,分配一个当前可用的im-manage机器节点。 im-manage启动后,会通过gRPC定时发送心跳给im-balance,im-balance以此来判断哪些节点可用,从而分配给登录用户。采用的负载均衡算法为随机算法。 3、im-api 这个部分主要是为前端提供一些HTTP接口,包含登录、注册、获取好友列表等。 4、im-manage 这是最核心的消息服务,可以支持以分布式的形式散步在多台机器上。其功能主要如下: (1)和im-balance。定时通过gRPC发送心跳给im-balance,注册并更新可用的节点,以供前端使用。 (2)和web。通过websocket和前端通讯,针对不同的前端消息做不同的处理,处理结束后,都会发送ack给前端。 (3)和im-router。单聊或者群聊的时候,会将消息通过RPC发送到im-router,由im-router将消息转发给对方。 (4)消息持久化存储。将消息存储在数据库中。 5、im-router 这是路由部分,负责消息的转发,寻找接收方所在的机器。 四、项目亮点 1、服务注册和发现。im-manage通过gRPC心跳,完成自己在im-balance的服务注册;客户端通过websocket连接im-balance,查询可用的im-manage服务节点,完成服务发现。 2、自己实现对分布式和负载均衡的支持。本项目可以支持im-manage、im-router分布在多台机器,有效地缓解高并发高流量可能带来的压力。 3、消息存储性能提升。我们并不是来一条消息就写一次数据库,而是会定时,或者在达到一定上限量的消息的时候,批量写一次消息表。 4、保证消息的可靠传递。发送者的消息到达im-manage后,会首先存储到数据库,然后发送给接收者。 (1)ack机制。当接收方成功收到发送者消息,接收方会通过im-manage会发送ack给发送者。 (2)消息超时重发机制。若web端一定时间内未收到ack,则会重发消息。 5、水平分表。由于消息表记录众多,我们根据消息发送时间对其进行了水平分表。

0
2025-05-22 21:22
下载次数:0
¥10000
更新于: 2022-11-16 浏览: 193