jiakme 最近回复了
如果允许的话, 可以考虑将 mysql 更换为 pgsql. 简单数据, 单表 1 亿没问题
玩票性质: 随便选择, 以自己兴趣及知识背景优先.
认真性质: 建议 Java, Go. 原因在于企业需求和流行度. 沟通交流方便, 企业大量需要, 同时转其他语言非常简单.
兼顾性质: Python, NodeJs. 原因在于脚本, 数据, web, AI 等等场景万金油, 不算最优, 但都能有一定切入点.
后端注重 数据结构, 算法, 架构设计, 语言其次, 只要你会任意一种静态语言, 切换其他语言就跟玩一样, 都是 7 天入门.
流量低, 内网穿透方案是没有问题的, 当前你还在业务探索阶段, 没必要上云. 等业务上来再上云完全没问题, docker + 数据迁移, 一点问题没有, 简单的很.
稳定性肯定不如云, 延迟可能视网络情况增加 100ms ~ 200ms.
rancher 和 kubesphere 有点重, 建议轻量化走.
amlha21lQDE2My5jb20=
感谢老板~
@
cxhello 认证中心维护黑名单,业务子系统去查询吗? 网关统一处理认证, 管控用户进入. 内部服务只解析用户信息.
@
cxhello 退出登录 Token 如何处理?建议了解一下 oauth2 协议.
1. 不要用 Java 2. electron, flutter 都可以考虑一下.
DDD 的核心是业务模型划分, 编码实现模式从针对流程编码, 变更为针对模型编码.
划分整个业务, 梳理内部模型层次和同其他业务边界, 使得项目整体复杂度可控.
针对模型实现, 充血/贫血, CQRS, MVC 等等, 按照实际情况来. 不要生搬硬套.
需要区分应用场景:
1. 小型(集中/分布式)应用: 建议 session 模式, 而非 token, 维护成本远低于 token
2. 中型分布式应用: 两者均可, 分布式 session 可做两层缓存, 同步也不成问题; token 模式需要考虑登出, 黑名单等等场景, 成本不低.
3. 大型分布式应用: 建议 token 模式, 此时 session 同步会成为问题.
不论何种模式, 一定要封装前端请求组件和后端拦截器组件, 方便后期调整维护.
我使用 linux 桌面作为主力开发机好几年了(manjaro, java). 个人经验:
- 开发相关软件: jdk, go, k8s, docker, redis 使用非常舒服, 完全无问题.
- 业务支撑软件: 微信, 远程桌面, 各种三方软件很成问题. 一旦出现个别软件没有 linux 版本, 需要虚拟机或者额外电脑使用, 工作舒适性立马下降一个等级.
- 稳定性: linux 桌面没有服务器稳定, 会出现 crash 问题, 稳定性弱于 windows, mac
所以使用 linux 作为主力机时, 一定要有 backup, 比如另外一台 windows 笔记本.