说明
记录一下,方便回顾
学习的内容
-
微服务是什么
- 重新将后端设计为若干个服务
- 拆分数据库
- 各服务提供指标(metrics)接口,方便监控
- 链路调用跟踪
- 添加日志分析组件
- 接口网关控制调用
- 服务发现服务
- 断路器泳衣取出是小服务
- 限流器
- 测试:端到端,服务测试,单元测试
- 抽象出微服务框架,方便各组件与3~10对接,同时完善版本管理和代码规范
- 或抽象为反向代理组件,service mesh。这样不侵入代码,但是带来内存拷贝成本。
- https://www.bilibili.com/video/BV1qs411u7ud?from=search&seid=11750324503139562819 这是B站的一个视频,介绍的微服务的情况。
-
k8s
- https://www.kubernetes.org.cn/k8s 了解概述
- https://www.kubernetes.org.cn/kubernetes%e8%ae%be%e8%ae%a1%e6%9e%b6%e6%9e%84 k8s基本架构
- 整体理论是比较难看的,虽然听说最好从头看到尾。所以我还是先看看如何使用
- https://www.cnblogs.com/caijunchao/p/13486883.html
-
etcd
- https://www.jianshu.com/p/f68028682192 centos团队的高可用分布式KV数据库。
- 内部是raft协议,go语言实现。
- 这里有一个etcd和redis的区别说明:https://blog.youkuaiyun.com/weixin_41571449/article/details/79429511
- https://www.cnblogs.com/xiao987334176/articles/9942195.html 这是一个etcd部署的说明,比较详细。
- https://blog.youkuaiyun.com/qq_30505673/article/details/117514764 这个是更详细的说明
-
dockerfile
- docker的远程部署,这个会不会和k8s有一些关联?
- https://www.cnblogs.com/panwenbin-logs/p/8007348.html dockerfile文件结构
- from, maintainer, run, add, copy, cmd, entrypoint… HEALTHCHECK具体用的时候可以查单独的命令
- docker真是运维神器,太方便了。。。
- docker基本命令:https://www.runoob.com/docker/docker-container-usage.html
- pull,run,ps,start,stop,restart,attach,exec,export/import,rm,port,logs,top,inspect,search,rmi,build,tag,network
- 这个也是dockerfile的说明:https://www.runoob.com/docker/docker-dockerfile.html
- docker-machine 多台机器安装,管理docker容器
- swarm集群管理,管理节点和工作节点。
-
redis
- 是个分布式的KV数据库,只不过经常用来存日志罢了。应对海量数据和高并发
- https://blog.youkuaiyun.com/sinat_27143551/article/details/80599170 使用场景
- https://blog.youkuaiyun.com/suifeng3051/article/details/38657613
-
日志打点
日志打点就是在项目中指定的源地址输出定制信息到指定的目的地址 -
casper
- 以太坊的新机制
- https://zhuanlan.zhihu.com/p/42684645 这是一个基本的casper介绍
- casper是POS的一个实现,而且有两种思路
- POS是需要抵押币在链上的
- 投票的权利和押金有关
- 验证者,押金,提现周期4个月,投票是广播消息并决定下一个检查点,惩罚是没收押金,检查点
- Casper的基本思路:是在分叉的节点对选择哪个是主链进行投票,如果投票的链最终不是主链,就会对该节点进行惩罚。但是有两种情况是肯定会对节点进行惩罚:1在同一个高度投票两次;2投票在不在其应该投票的范围内,投票的高度太远也会被惩罚
- https://zhuanlan.zhihu.com/p/40100624 V神的casper论文翻译
- Casper 要做的工作就从每个父块中只选择一个子块。出于效率考虑,Casper 只考虑由检查点形成的子树,而不是处理整个区块树
- 验证节点是有抵押的。安全性和抵押成正比而不是验证者数量,所以2/3指的是总抵押规模,也就是验证者的集合抵押物之和等于总抵押的 2/3
- https://zhuanlan.zhihu.com/p/44496747
- 分叉规则:跟随有最大合理检查点高度的链
- casper和分片是一件事?
- 解决无利害关系问题,就是两边下注,用的是押金惩罚机制
- 远程攻击问题,就是我上次问老师的那个问题,如果是这样,那该怎么办?用casper协议
- 这里V神说的是:简单来说,分叉协议可以通过不允许回滚一个固化的块来防止长距离攻击,同时也期望每个客户端能够每隔一段时间(一两个月)来获得链的一个整体视图。长距离攻击的分叉希望能够把更老的区块固化是不能做到的,因为所有的客户端已经看到了固化的区块,直接拒绝回滚。
- 查一下hotstuff和长距离攻击
- 这一篇对POS有很多总结性论述https://blog.youkuaiyun.com/shangsongwww/article/details/90136806?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163046308316780271556600%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=163046308316780271556600&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_v2~rank_v29-17-90136806.pc_v2_rank_blog_default&utm_term=casper&spm=1018.2226.3001.4450
- https://blog.youkuaiyun.com/sinat_34070003/article/details/80575810 Casper要求验证人将保证金中的大部分对共识结果进行下注。而共识结果又通过验证人的下注情况形成:验证人必须猜测其他人会赌哪个块胜出,同时也下注这个块。如果赌对了,他们就可以拿回保证金外加交易费用,也许还会有一些新发的货币;如果下注没有迅速达成一致,他们只能拿回部分保证金。因此数个回合之后验证人的下注分布就会收敛。