对于最近线上服务以及京东等大型互联网公司对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_SELECT FOR UPDATE详解
先来举一个在某些应用场景下会出现数据不一致的例子,当然存储引擎是InnoDB(至于为什么,后面再告诉你). 电商平台常见的下单场景: 一般商品表(goods)有基本的四个字段,id(主键),goods ...
- C++学习笔记第一天:基础
前言 N年前学的C,经过VB.JAVA.JS.C#等后辈的轮番蹂躏,当初学的那点儿东西早就还给老师了 现在有了在桌面端实现 Native + Web 的初衷,需要利用CEF开源组件来封装这个Nativ ...
- 计蒜客的一道题dfs
这是我无聊时在计蒜客发现的一道题. 题意: 蒜头君有一天闲来无事和小萌一起玩游戏,游戏的内容是这样的:他们不知道从哪里找到了N根不同长度的木棍, 看谁能猜出这些木棍一共能拼出多少个不同的不等边三角形. ...
- 实战项目:EMOS集成邮件平台
实战项目:EMOS集成邮件平台用户邮箱系统:http://mailAnonymous.cn/邮件服务器管理平台http://mailAnonymous.cn/extman 项目需求:随着公司规模不断扩 ...
- "No Python interpreter configured for the project " in Pycharm for python selenium
自动化测试问题: pyCharm提示python Interpreter没有设置,点击configure Python Interpreter,进入Settings 在 Project Interpr ...
- UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 52: invalid continuation byte
代码: df_w = pd.read_table( r'C:\Users\lab\Desktop\web_list_n.txt', sep=',', header=None) 当我用pandas的re ...
- CF367 E - Working routine
十字链表模拟 #include<bits/stdc++.h> using namespace std; int n,m,q; struct Node{ int v; int d,r; }m ...
- Tomcat下使用Druid配置JNDI数据源
com.alibaba.druid.pool.DruidDataSourceFactory实现了javax.naming.spi.ObjectFactory,可以作为JNDI数据源来配置. 一.下载D ...
- 关于js中 toFixed()的一个小坑
作为一名前端,大家都应该知道,toFixed()的作用,toFixed()经常用于前台与后台数据格式的转换,套用下w3c上面的定义: 定义和用法toFixed(n) 方法可把 Number 四舍五入为 ...
- BZOJ 1926: [Sdoi2010]粟粟的书架(主席树,二分答案)
BZOJ 1926: [Sdoi2010]粟粟的书架(主席树,二分答案) 题意 : 给你一个长为\(R\)宽为\(C\)的矩阵,第\(i\)行\(j\)列的数为\(P_{i,j}\). 有\(m\)次 ...