-
一起来探讨下多应用共享基本组件的方法与优劣
2017-12-05 11:20我们现在用的 spring cloud 做的分布式微服务模式(基于 HTTP 的 restful 方式),从目前的运维情况来看还不错
优点
- 各个模块独立部署,开发
- 授权中心(JWT 认证方式)独立成微服务,其他模块调用即可
- 服务发现 + 智能路由 + 网关 = 部署成本很低
- 方便多终端接入。尤其方便第三方接入(几乎是 0 成本,我们使用了 Swagger2 生成 API,我们公司的移动端接入基本只用告诉他 url 就可以了)
缺点
- 各个微服务的边界难划分(这个要综合业务和技术来一起划分),简单的说就是某个 api 具体要放到哪个模块下面
- 当有 delete/update 模块互相调用时(依赖网络 I/O),需要用最终一致性事务来解决,不能用强一致性(当然你也可以用,不过带来问题更多,而且会很影响集群性能)
别的感觉没什么了,先把缺点 2 想清楚!!再玩模块化微服务
-
笔记 _javase7 语法新特性
2017-04-07 15:12我用的最多就是
try(Connection conn = ....) {
.....
} catch(IOException | SQLException e) {
.....
}我觉得还是直接到 8 吧,代码敲起来真的是飞起,随便秀一下😄
final List<List<SVMTerm>> sorted = new ArrayList<List<SVMTerm>>(); labels.forEach((label, terms)->{ List<SVMTerm> sortedTopNLabel = terms.stream() .sorted((a,b)->b.getChi().getValue().compareTo(a.getChi().getValue())) .limit(Config.getInt("svm.chi_top_n")) .collect(Collectors.toList()); sorted.add(sortedTopNLabel); });
-
golang 语言还是 python 语言
2017-04-07 14:45看你以后从事的领域了。
如果是大数据,机器学习方向,那必须 python
如果是传统 web 开发的话,推荐 javascript(html nodejs) 或者 lua(nginx redis)
如果是运维,那必须 linux shell
我是 lua,主要是 nginx 和 redis 可以运行,在上面可以做很多事情,web 开发这 2 样东西用的很多。不过我现在不做 web 开发了,感觉后面说的都是废话。。。。。。
-
此论坛系统支持插件形式的开发吗?
2017-04-07 14:22获取帖子内容,然后进行额外处理。我现在用的是任务队列,额外处理是由另外一个系统做的。
当然开发什么功能不是重点,主要是如果我要针对此论坛系统做一些 额外性的功能开发,应该怎么入手呢?
-
求问 war 包上传到服务器了 后期怎么维护呢
2017-01-24 15:55我现在采用 spring boot + nginx 的架构。首先 spring boot 十分方便,java -jar 启动,ctrl+c 关闭。
开了 3 个 spring boot,nginx 托管。维护的时候,关掉一个,直接删,上传新的,启动。然后再类似的更新剩下的 2 个。