Categorygithub.com/heyhui2018/best-practise
modulepackage
0.0.0-20191101074214-d09ac20dfbf7
Repository: https://github.com/heyhui2018/best-practise.git
Documentation: pkg.go.dev

# README

最佳实践


有任何意见或建议可加qq:962691478,欢迎交流


包含如下框架/组件:

  • 1.http框架
    • gin github.com/gin-gonic/gin
  • 2.rpc框架
    • grpc google.golang.org/grpc
      • 普通模式
      • 双向流模式
  • 3.配置读取
    • toml github.com/BurntSushi/toml
  • 4.数据存储
    • mysql github.com/go-sql-driver/mysql github.com/go-xorm/xorm
    • redis github.com/garyburd/redigo/redis
    • influxDB github.com/influxdata/influxdb/client/v2
  • 5.消息中间件
    • rabbitMQ github.com/streadway/amqp
    • kafka github.com/Shopify/sarama github.com/bsm/sarama-cluster
    • nsq github.com/nsqio/go-nsq
  • 6.定时任务
    • cron github.com/robfig/cron
  • 7.服务发现
    • etcd go.etcd.io/etcd/clientv3
  • 8.分布式锁
    • redis github.com/garyburd/redigo/redis
    • zookeeper
  • 9.提醒
    • 邮件 net/smtp
    • 短信
  • 10.数据源
    • weather API api.airvisual.com
    • leetCode github.com/heyHui2018/leetCode
    • excel github.com/tealeg/xlsx
  • 11.安全
    • JWT github.com/appleboy/gin-jwt
    • TLS google.golang.org/grpc/credentials
  • 12.others
    • qrCode github.com/skip2/go-qrcode
    • restart gracefully github.com/heyHui2018/graceful
    • docker容器监控/重启
    • 图片处理 github.com/disintegration/imaging
      • 裁剪
      • 缩放
      • 水印(图片水印/文字水印) github.com/golang/freetype

  • 功能:延迟消息 rabbitMQ死信队列
  • 功能:接口注册登记,定时发送邮件
  • 功能:docker容器监控/重启
  • 功能:根据传入的题号或关键词,查询题目相关数据

TodoList

  • 优化grpc router
  • rpc负载均衡(各节点部署一个进程监控etcd上的服务ip及端口,随后将这些服务写入iptables上做snat转发,通过iptables的snat修改数据包目的ip实现负载均衡)
  • 微信提醒

# Packages

No description provided by the author
No description provided by the author
No description provided by the author