笔者一些无聊的思考,也有一些对新手的建议
- 了解一个新技术之前,它为什么出现,解决了什么问题,和现有的解决方案相比,它有什么优点,又有什么缺点(没有完美的方案)
- DevOps,微服务dev易,ops难,有哪些技术可以实现ops,做到可持续交付,微服务的监控,管理怎么做,如何减少排查问题的复杂度
- 微服务如何根据业务拆分模块
- Spring Cloud如何实现真正意义上的多语言,不要觉得公司只用java,同时用PHP,Go,Python太正常了,举个例子,阿里收购个公司,发现用的不是java就不收购了?收购之后要整合业务就让别人全改成java吗,现有的”老”系统重做吗
- 一口就吃个大胖子,一套框架解决公司所有业务?不可能的,架构应该遵循演进式原则
- 如何去学习Spring Cloud,由于Spring Boot 1.x版本和2.x版本的差别较大,往往因为一些教程的版本落后让人痛不欲生,所以自己摸索是一方面,比如找最新的教程,遇到问题多看官方文档也是个好习惯
- 关于看英文文档,只是一个适应的过程,下载一个有道翻译,只要有一些英语基础的人都能看懂,ps:本人四级考了2次飘过的学渣,:)逃,看多英文文档之后,甚至有种看不进去中文翻译的感觉,因为不好理解,还不如看英文,虽然浪费点时间,但是理解的快
- 关于遇到问题如何解决这件事,给新人一些建议,不要问leader一些很low的问题,我本人属于内向的人,习惯do my best之后再去问人,说下我的解决思路
- 首先尽量看懂英文的错误提示
- 百度能帮你解决很多”常见”的问题
- 百度也不是个好东西,遇到难题,就会发现天下文章一大抄,抄来抄去就那么几篇
- 谷歌,多留意Stack Overflow的网站,同样需要你有耐心看懂英文
- 既然是开源项目,为什么不去github的issue搜一搜,笔者很喜欢这样做,不急的问题搜不到提个issue也比去某个论坛强
- 现在Github流行gitter在线聊天,可以更好和别人交流,尤其是项目作者。ps: 也可以看看别人的问题,毕竟都是坑
- 当然这些要看问题的具体情况,比如一个业务问题,你去github是没有意义的,最后多看官方文档,会避免很多问题,也会给你解决问题带来思路
- 如何减少bug量,请正视测试用例,测试用例,测试用例
咳咳,接下来说正题,Spring cloud
在学习Spring cloud之后,我对它最直观的理解是: Spring cloud是用于构建分布式系统的一组通用工具集,秉承Spring的集成理念,Spring cloud并不会自己去开发一套工具,而是集成业界现有的优秀开源项目,这里的优秀必然是经得起生产环境验证,并且持续维护。Spring cloud自1.0开始就集成了Netflix OSS套件,通过Spring boot的autoconfigure简化配置,并且为其注入Spring运行环境,让开发者通过几个简单的注解就构建一个基于Netflix生产级别的分布式系统