对于最近线上服务以及京东等大型互联网公司对java工程师要求的一些思考
当下线上服务为了减少上线,经常搞成配置化,配置化对于版本以及持续集成本身是很大破坏,对于此,我个人持保留态度,
是反对过多东西进行配置化,其实配置化本身没有什么问题,关键是动态对配置进行修改而没有与代码进行版本关联,但越来越多
人迎合潮流与领导。
对于线上服务,存在定时拉取配置平台配置,一定进行相应检查,只要人配置东西就一定会有问题,或者说容易发生问题,线
上服务重启时,需要稳赢一下,呆一会看一下启动是否成功,一定不要一次全部服务批量重启,出了问题,就完全没法处理了,并且
需要去看一下日志,以及服务状态,都确认没问题后,在进行重启。
对于上边这种问题,加上昨天前边已经发生两次服务启动不起来,一次是全部线上服务不可用,一次是部分,部分并且批量进
行处理,是目前想到的解决此类问题最好的办法。
对于配置化应该有更多思考,而不是人云亦云。不然这件事有什么意义呢?
最近也是在频繁面试招聘,但是从简历以及面试都筛掉了很多人。对于有一定经验Java研发,一些基本技能要求,我的一些
思考。
学习java经常会遇到一个问题,一段时间后没法进行深入,或者是不断在进行业务开发。Excel导入导出以及各种各样业务功能,以及
各种各样功能点开发,这样不能说不对,但是当我们回过头来看发现我们在技术上好像没有什么进步,只是在不断重复自己。
怎么样做技术?怎么样不重复自己?怎么样有进步?是我们应该持续不断思索的问题。
对于做很多业务功能这个没有问题,问题是我们在一直重复我们自己,对于一个业务一个功能,我们应该多想几个怎么做?有没有
更新的方法?有没有重复事情抽象起来去做的方式?有没有用新的技术去做的方式?
对于java技术点掌握的要进行记录整理总结,然后寻找新的问题、新的技术方案去解决问题。进行新的探索,一遍巩固已经掌握技
术体系,并且不断探索新的技术体系。
java一些重要技术点,缓存ehcache、redis 分布式redis方案、rpc、微服务、设计模式、多线程、线程池、消息队列、锁、jdk、
elasticsearch solr lucene、jvm、gc、io BIO NIO AIO等等各种各样技术都可以是我们可以研究和分析的点。
ehcache缓存设计,缓存架构与原理,缓存失效策略,缓存是否存储硬盘,等等。缺少一个细节了解,可能在一些业务场景下都
会导致比如,写外部磁盘写慢导致服务不可用。
redis单机架构是什么?为什么性能这么高?存储策略?集群架构是什么?有哪种集群方式?官方的以及互联网公司集群架构有什
么异同,优劣?redis单点问题有哪些?怎么样避免单点以及热点数据?怎样进行扩容缩容,扩容缩容对线上服务影响怎么样控制到最小?
rpc原理,一个最简单rpc怎么实现,rpc目的作用,可以应用在哪些场景下?微服务注册中心怎么实现,注册中心需要注意什么问
题,注册中心都有哪些实现方式,dubbo架构以及怎么实现,源码读过么?
BIO、NIO、AIO各是什么?有哪些优缺点,一般都用在什么场景下?在哪些实际应用中用过他们?
设计模式有些哪些、在实际项目中用过哪些设计模式、怎么用、为什么应用、继承在哪些场景用过、怎么应用为什么
多线程在哪些场景用过、线程池用过哪个、参数是什么、均有什么意义?为什么用、多线程同步怎么做、CountDownLatch在哪些场景
下使用?
很多时候总是在说工作中用不到,这是听的最多一种说法,有一定道理,但是价值不大。工作中怎么做还是掌握在自己手中,多思考、
多实践,用新的方式、不同的方式去解决过去问题、老的问题,才能不再过去技术圈打转。
对新的技术,应该不断思索,不断尝试,通过书籍以及实战,对新的技术不断深入,深入后进行总结,然后在探索下一个技术。通过这
样一种方式,不断掌握新技术,避免造成永远再用老技术解决老问题,很多事情还在自己处理。
简单问题不能出错,老是在简单问题出错,时间花费在上面,并且人也会慢慢就废掉了。
好的方式、好的方法、勤思考、多实战。
扫码关注
对于最近线上服务以及京东等大型互联网公司对java工程师要求的一些思考的更多相关文章
- 排查Java线上服务故障的方法和实例分析
前言 作为在线系统负责人或者是一个技术专家,你可能刚刚接手一个项目就需要处理紧急故障,或者被要求帮忙处理一些紧急的故障,这个时候的情景是: (1)你可能对这个业务仅仅是听说过,而不怎么真正了解: (2 ...
- Linux(2)---记录一次线上服务 CPU 100%的排查过程
Linux(2)---记录一次线上服务 CPU 100%的排查过程 当时产生CPU飙升接近100%的原因是因为项目中的websocket时时断开又重连导致CPU飙升接近100% .如何排查的呢 是通过 ...
- 线上服务CPU100%问题快速定位实战
功能问题,通过日志,单步调试相对比较好定位. 性能问题,例如线上服务器CPU100%,如何找到相关服务,如何定位问题代码,更考验技术人的功底. 58到家架构部,运维部,58速运技术部联合进行了一次线上 ...
- 线上服务内存OOM问题定位[转自58沈剑]
相信大家都有感触,线上服务内存OOM的问题,是最难定位的问题,不过归根结底,最常见的原因: 本身资源不够 申请的太多 资源耗尽 58到家架构部,运维部,58速运技术部联合进行了一次线上服务内存OOM问 ...
- 线上服务内存OOM问题定位
转自:架构师之路,http://mp.weixin.qq.com/s/iOC1fiKDItn3QY5abWIelg 相信大家都有感触,线上服务内存OOM的问题,是最难定位的问题,不过归根结底,最常见的 ...
- 线上服务内存OOM问题定位三板斧
相信大家都有感触,线上服务内存OOM的问题,是最难定位的问题,不过归根结底,最常见的原因: 本身资源不够 申请的太多 资源耗尽 58到家架构部,运维部,58速运技术部联合进行了一次线上服务内存OOM问 ...
- 线上服务CPU100%问题快速定位实战--转
来自微信公众号 架构师之路 功能问题,通过日志,单步调试相对比较好定位. 性能问题,例如线上服务器CPU100%,如何找到相关服务,如何定位问题代码,更考验技术人的功底. 58到家架构部,运维部,58 ...
- 线上服务的FGC问题排查,看这篇就够了!
线上服务的GC问题,是Java程序非常典型的一类问题,非常考验工程师排查问题的能力.同时,几乎是面试必考题,但是能真正答好此题的人并不多,要么原理没吃透,要么缺乏实战经验. 过去半年时间里,我们的广告 ...
- 记一次线上服务CPU 100%的处理过程
告警 正在开会,突然钉钉告警声响个不停,同时市场人员反馈客户在投诉系统登不进了,报504错误.查看钉钉上的告警信息,几台业务服务器节点全部报CPU超过告警阈值,达100%. 赶紧从会上下来,SSH登录 ...
随机推荐
- MySQL取得某一范围随机数
①直接取值 若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() * (j – i + 1)). 例如, 若要在7 到 12 的范围(包括7和12) ...
- Windows API Finishing
input { font-size: 14px; height: 26px } td { border-style: none; border-color: inherit; border-width ...
- 在linux ubuntu下搭建深度学习/机器学习开发环境
一.安装Anaconda 1.下载 下载地址为:https://www.anaconda.com/download/#linux 2.安装anaconda,执行命令: bash ~/Downloads ...
- vue项目中遇到的问题
在 export defaul new Router({ )} 这个路由配置中一定要加mode : 'history' 否者就会在路由前面默认添加# 路由跳转的几种方式: 在VUE中使用less来编译 ...
- 恢复Mysql丢失的root用户权限
今天安装了某个程序时, 由于程序很傻X的 新建了一个 root@localhost 用户 并把 root权限全部改为了 no 这下 我也 傻X 了.服务器上所有程序都崩溃了. 此时即使用root用 ...
- Ubuntu版本更替所引发的“血案”
Ubuntu版本更替所引发的"血案" 今天,我兴致很高的装了双系统,并且配置了Linux的网络,接下来就是安装一些软件,来实现我想达到的功能了,结果被一个小小的命令卡的 ...
- Xmind8 Pro安装教程 Windows
xmind是一款优秀的思维导图制作软件,这一点相信不用太多解释. 尤其作为测试人员导出测试用例为excel极其方便.网上xmind的破解方法加自己琢磨,重新整理了破解步骤. 亲测可以永久激活截止2 ...
- sqlserver中select造成死锁
死锁过程: select语句使用非聚族索引查询产量信息,会对非聚族索引添加共享锁,由于非聚族索引上没有select的全部数据列,(所以会有书签查找出现,)需要查询产量表.查询产量表时,需要对产量表数据 ...
- 在Ubuntu16.04.4上安装jdk
在Ubuntu16.04.4上安装jdk 一.安装步骤 1.下载jdk安装包 首先我们在oracle官网上下载jdk-8u161-linux-x64.tar.gz,当然也可以下载其他版 ...
- R语言︱ 数据库SQL-R连接与SQL语句执行(RODBC、sqldf包)
要学的东西太多,无笔记不能学~~ 欢迎关注公众号,一起分享学习笔记,记录每一颗"贝壳"~ --------------------------- 数据库是极其重要的R语言数据导入源 ...