Go env
超时 select case
time包
主从协程通信
defer计时
totalErr
一
专后端
深入底层
高并发/ 高可用
系统完整:日志、故障排除、监控、压测 等等
Go(分布式)微服务
10+ 20+
go语言:写法(for等)、概念(地址等)、程序设计规程(panic处理等)
go包(context、sql、redis等)
db设计、高效查询、优化
架构(微服务)
框架方法(grpc写法)
扩展插件(redis、日志、监控)
- panic相关:
error接口、panic、recover:
https://blog.csdn.net/tennysonsky/article/details/78946265
https://www.cnblogs.com/52php/p/6892651.html
+ 并发处理请求
https://studygolang.com/articles/17711
- 明确:类,组合,接口,多态,继承,接口实现
- 明确:函数头写法,变量声明各种方式
- redis完整过程(场景、过期之后等完整过程)
https://www.jianshu.com/p/aeb27a6aa42d
看go语言编程
db命令行,看表建表建索引
- git命令行,合分支
- db索引调优
kafka
- 容器内系统操作
【 adult 】
减少热情,gojava都tm一d样
【框】
go语言:写法(for等)、概念(地址等)、程序设计规程(panic处理等)
go包(context、sql、redis等)
db设计、高效查询、优化
架构(微服务)
框架方法(grpc写法)
扩展插件(redis、日志、监控)
【本周末】
书上剩下的内容和看例子的代码
包完整齐全
+ grpc的方法全面
工作主要是高性能web
因为有其他的业务语言,所以微服务
加详细的技术,写什么问什么
+++++++ 大的web项目,有的说:
监控平台
商城
进销存
erp
数据分析平台
py爬虫
java测试框架
答题
库存管理
业务量巨大所以高并发
【待】
- db连接查询(sql/gorm)
- 数据库理论
- 业务量巨大所以高并发写法(任务队列) https://studygolang.com/articles/17711 看go语言编程-并发篇
夸克收藏
+++++++微服务grpc
运行在同一主机上不同端口的不同语言实现的各个服务怎么启?
b站一个视频播放页面的加载,是怎么请求后端微服务的?:发的是一个连接就一个,其他的请求应该没有太多。
这个请求到达gateway,被派发,之后聚合数据,统一一下子返回前端
grpc的哪一块是http2通信?gateway加进去还是http2吗?
服务间怎么直接通信? grpc通信四种方式,服务间通信
- golang包的使用
context包
- 数据库包(原生语句 or orm)
- 日志包
- 权限包jwt
- http包
性能分析ppof
等等等!!
- Linux查看进程运行
- redis完整过程、发布订阅
- go 函数文档 及 常用函数 及 常用语句的写法:
- db命令行
- git命令行
- db索引调优
- 容器内系统操作
- 日志系统 elk
– 链表相交
– 内连接,外连接
- go栈
分布式:服务注册发现(zoo)、消息(mq)、负载均衡
grpc的分布式:
跨机服务文件目录结构
怎么配置多服务器
数据流
- Git fech
SaaS??
- gin
—————— 完整 ——————
限流:实现微服务访问流量计算,基于流量计算分析进行限流,可以定义多种限流规则。
缓存:数据缓存。
日志:日志记录。
监控:记录请求响应数据,api耗时分析,性能监控。
鉴权:权限身份认证。
灰度:线上灰度部署,可以减小风险。
路由:路由是API网关很核心的模块功能,此模块实现根据请求,锁定目标微服务并将请求进行转发。
简单介绍下实施方案
开发语言:java + groovy,groovy的好处是网关服 务不需要重启就可以动态的添加filter来实现一些功能;
微服务基础框架:springboot;
网关基础组件:netflix zuul;
服务注册中心:consul;
权限校验:jwt;
API监控:prometheus + grafana;
API统一日志收集:logback + ELK;
压力测试:Jmeter;