V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  monsterxx03  ›  全部回复第 2 页 / 共 24 页
回复总数  468
1  2  3  4  5  6  7  8  9  10 ... 24  
2021-04-13 10:45:17 +08:00
回复了 pythonee 创建的主题 Amazon Web Services AWS 该如何从入门到进阶呢
没业务进阶不了, 而且光看 aws 能进阶啥呢, 比如看 DynamoDB, 难道学它那鬼画符一样的 expression 吗, 看它那 sharding key + sort_key 的方案其实就是分布式系统里的常规做法, 最终一致性也不是 DynamoDB 独有的概念. 学 Redshift,又是 OLAP 那套 columnar storage 的东西, spectrum 就是 presto 套皮. S3 能学啥呢, 学 api 吗, 学系统设计还不如看 OpenStack swift, 看看它怎么实现扩容的, 多副本怎么写入的.

aws 上几乎所有东西都有开源替代品, 除非是专门想做 aws 上的解决方案架构(那直接去考那个证), 不然没啥好学的.
2021-04-09 21:17:52 +08:00
回复了 eyeix 创建的主题 Kubernetes 关于 Bitnami 的 Helm Chart 持久化配置的几个疑惑
@lrvinye 为什么要挂在同一个 pv 下?即使不考虑 k8s,在裸机上部署,三个副本跑在三个机器上肯定也是三块硬盘啊,所以你需要三个 pv,statefulset 就是用 volumeClaimTemplate 动态生成对应的 pv
2021-04-09 16:11:39 +08:00
回复了 eyeix 创建的主题 Kubernetes 关于 Bitnami 的 Helm Chart 持久化配置的几个疑惑
如果你说的是 bitnami 的 mongodb chart 的话, 理解有点问题.

mountPath 都是每个容器单独的, 每个副本用自己的 mountPath, 为啥要挂载在不同子目录?

这个 chart 有 standalone 和 replicaset 两种部署模式, existingClaim 只在 standalone 模式下有效, 此时只有一个 mongo 实例.

replicaset 模式下,多个 statefulset 的实例是用 volumeClaimTemplate 动态 provision pv 的.
2021-04-08 13:17:21 +08:00
回复了 Ptu2sha 创建的主题 程序员 觉得数据库不重要人 能找到高薪工作?
现在 v 站上的讨论真是鸡同鸭讲, 连个前提都没有, RDBMS 和 NoSQL 是一回事, OLTP 和 OLAP 是另一回事, 互联网业务里的 SQL 和 ERP 系统里的 SQL 又是另另一回事.
2021-04-07 17:51:11 +08:00
回复了 yayiji 创建的主题 问与答 at rest 在这个语境下是什么意思
encryption at rest 一般指文件加密后存储在磁盘上.
caseid 如果是 unique key,可以用 insert ignore
2021-03-25 17:35:46 +08:00
回复了 zhoudaiyu 创建的主题 Docker 想问问大家这两种方式进到 Docker 的容器中有啥区别吗?
@baiyi 用 cgo 倒没啥, 就没想到还能在 go runtime 启动前执行代码
2021-03-25 17:14:28 +08:00
回复了 zhoudaiyu 创建的主题 Docker 想问问大家这两种方式进到 Docker 的容器中有啥区别吗?
不是包的, 直接基于 syscall setns 实现的, 代码在 runc 里.

这里还个挺有意思的事情, go 里没法控制线程, 但是 setns 这个 syscall 必须在单线程环境下执行. runc 里用了个很 hack 的方式在 go runtime 启动前注入了一段 C 代码通过 pipe 来实现 https://github.com/opencontainers/runc/tree/master/libcontainer/nsenter

我是在 go 里调用 ptrace 这个 syscall 的时候遇到了一样的问题后, 才看到了 runc 的办法. go 做系统编程往底层还是有很多问题的.
2021-03-25 14:38:41 +08:00
回复了 zhoudaiyu 创建的主题 Docker 想问问大家这两种方式进到 Docker 的容器中有啥区别吗?
docker exec 是通过 docker daemon 的 api server 转发的, 可以认为 docker daemon 内部实现了 nsenter 的功能
2021-03-25 00:32:19 +08:00
回复了 omegatheta 创建的主题 云计算 请教 DigitalOcean 等 VPS 服务商的竞争优势
云计算是个规模效益很明显的行业,拼成本,拼价格,和大厂比基本没戏。如果是互联网公司,do 那点功能根本没眼看,要么上那几家大的,要么自建。会长期留在 do 的用户基本都是对 it 基础设施要求不高的公司,很难想象 do 能从这样的用户身上赚取高收益。专注为某个特定行业提供基础技术解决方案倒可能是个路子(直播,游戏等),aws 啥都有,但啥都不是最好的
2021-03-23 18:23:10 +08:00
回复了 whatisnew 创建的主题 问与答 像 tinder 探探 这一类的左滑右滑用户是怎么排除的呢?
一般是要提取用户特征, 比如 20 ~ 25 岁, 男性, 注册 7 天内, 爱好 xxx, 根据特征预计算出成百上千个 segment, 用户匹配的时候根据自己的特征去不同的 segment 里抽用户, 选择不喜欢, 可能只是在 userA->userB 的关系里记录一个负权重.
怎么及时得更新 user segment, 用户关系怎么存储都是个技术活, 高度取决于产品和运营策略.
sql not in 这种属于学生作业级别操作...有用户量的社交产品不可能这么高
2021-03-11 16:48:47 +08:00
回复了 zxCoder 创建的主题 数据库 关于数据库的“脏写”定义
@v2exblog 只谈 MySQL 的话, 默认配置下也不会发生有脏读, 除非自己把 isolation level 设置成 read uncomitted. 完整解释很麻烦, 看看 isolation level 相关的文章吧.
2021-03-11 16:38:40 +08:00
回复了 Aphsss 创建的主题 问与答 openshift 中的 s2i 和 docker 官方的多阶段构建有啥区别
从结果看没什么区别, 它主要是为了一些流程上的安全考虑.

s2i 从一个 base image 启动后直接注入代码,启动成一个 container 再 commit 成一个新的 image, 它只能在 base image 上加一层. 用 s2i 没法像 dockerfile 一样在 image 里执行任意命令,装任何东西, 只能把代码拷贝进去.

base image 可能由权限更高的人制作(还是用 docker build 一类工具), 开发就用 s2i 执行一个打包操作, 任何和 base image 相关的变更自己没法做.

不是对流程卡得非常严的场景使用意义不大.
2021-03-11 12:25:49 +08:00
回复了 zxCoder 创建的主题 数据库 关于数据库的“脏写”定义
额, 一定要说定义的话, 第二个例子里, 如果第二次提交后最终结果是第一次的结果, 那应该算脏写.

不过纠结一个事实上不存在的操作意义不大, 关注下脏读的条件还有点用.
2021-03-11 12:03:02 +08:00
回复了 zxCoder 创建的主题 数据库 关于数据库的“脏写”定义
满足 ACID 的 RDBMS 就不会有脏写, 你说的那个例子, 如果修改的是同一条数据, update 会上 exclusive lock, 第二次 update 会直接停在那, 第一次 update rollback, 第二次 update commit, 不会 roll back.
@zhoudaiyu 还有一个办法是启动一个 pod, nodeSelector 设置到你目标 pod 的节点上, 这个 pod 设置

hostPID: true,
securityContext:
privileged: true

这样可以取到目标节点上所有进程, 写过一个 shell 脚本做类似的事情, 没法直接用, 可以参考下 https://github.com/monsterxx03/kube-pyflame/blob/master/kubectl-pyflame
是想临时用一些工具 debug 主进程又不想重做 base image ?

把工具单独打一个镜像, 用 sidecar container 就行了,需要设置 shareProcessNamespace, https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/
2021-03-08 14:23:10 +08:00
回复了 nagatoism 创建的主题 程序员 用 redis 做分布式锁这种骚操作是怎么流行起来的?
有效讨论: 用 xxx 的问题在哪, yyy 在 zzz 的场景下比 xxx 强在哪里.
无效讨论: xxx 垃圾

回到用 redis 做锁的问题, 如果是单机 redis 用 setnx 做一个中心试锁, 在可用性要求不是特别极端的业务里未尝不可, 毕竟很多人运维的分布式系统未必有单机靠谱...

redlock 算法争议一直有, 我是不建议用的, 印象里这个算法的争议在于依赖系统时间的一致性. 比较严谨的分布式系统一般会用 Lamport timestamp 做逻辑时间(实现上就是一个单调递增的 counter).
1  2  3  4  5  6  7  8  9  10 ... 24  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2473 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 41ms · UTC 05:25 · PVG 13:25 · LAX 21:25 · JFK 00:25
♥ Do have faith in what you're doing.