兄弟怎么改芬利选三国杀 人物技能 优先级的优先级啊 老是乱选

客户端下载
发送验证码
未注册的用户手机验证后自动登录
30天内免登录
社交账号登录
绑定手机号
发送验证码
你为什么打不过炉石脚本, 看完你就懂了!
炉石传说控
今年上半年盗版炉石兄弟在国服的横行,使天梯满城风雨,给玩家带来了极差的体验,主播界也是略显无奈(谁还记得暑假有一局,狗贼嘘嘘直播打狂野高分段,遇到一个叫萌萌哒的鸡蛋饼(与狗贼小号同名)的战士脚本,打的有来有回。评论惊呆了,纷纷惊呼:某主播下播竟偷用脚本上分,举报一波!!!(*`д?))知乎暮雨声烦为大家带来独家揭秘:这款脚本叫做“炉石兄弟”,是一款很著名的挂机脚本,一直深受炉石各界人士的喜爱。但是暴雪爸爸对于外挂一直是深恶痛绝的,经过长时间的不懈打击,终于通过打官司告倒了“炉石兄弟”,这款6年的老软件官网也发出了公告:Hearthbuddy (炉石兄弟)炉石脚本将停止销售,这款软件对应的已购买用户可使用到日,过了那个日子之后的将会发生的事情未可知。炉石兄弟吧现状作为影响国服玩家最大的脚本软件开发商,炉石兄弟公司被盗版利润偷取和暴雪法律施压双重打压下被迫关闭脚本服务,从明年一月一日起,天梯上5-传说的脚本将不复存在。你为什么打不过炉石脚本, 看完你就懂了!
今年上半年盗版炉石兄弟在国服的横行,使天梯满城风雨,给玩家带来了极差的体验,主播界也是略显无奈(谁还记得暑假有一局,狗贼嘘嘘直播打狂野高分段,遇到一个叫萌萌哒的鸡蛋饼(与狗贼小号同名)的战士脚本,打的有来有回。评论惊呆了,纷纷惊呼:某主播下播竟偷用脚本上分,举报一波!!!(*`д?))
知乎暮雨声烦为大家带来独家揭秘:这款脚本叫做“炉石兄弟”,是一款很著名的挂机脚本,一直深受炉石各界人士的喜爱。但是暴雪爸爸对于外挂一直是深恶痛绝的,经过长时间的不懈打击,终于通过打官司告倒了“炉石兄弟”,这款6年的老软件官网也发出了公告:Hearthbuddy (炉石兄弟)炉石脚本将停止销售,这款软件对应的已购买用户可使用到日,过了那个日子之后的将会发生的事情未可知。
炉石兄弟吧现状
作为影响国服玩家最大的脚本软件开发商,炉石兄弟公司被盗版利润偷取和暴雪法律施压双重打压下被迫关闭脚本服务,从明年一月一日起,天梯上5-传说的脚本将不复存在。
1、天梯上遇到的类似沉默之剑,迷你之泰坦以及很常见的英文名等等账号,很多时候打的都很差,他们都是脚本吗?
不完全是。此类名字是系统默认的随机名字。第一种,脚本商家在用脚本刷金币前,都会草草创号,名字便一带沿用了系统默认名字 。
第二种,如同评论区
知友的回答: “我就是纯英文,刚建的时候系统随机的一直没改,玩了三四年了。”那般,因为第二次改名要付出战网点,有些炉友在创号后觉得暂时没有自己满意的名字,便用系统默认名字至今。
第三种,你可能遇到了他....
输给沉默之剑有问题吗!(?`⊿?)?
2、淘宝上买的金币号都是脚本刷的吗?购买金币号安全吗?会不会被封号?值得我们购买吗?
淘宝上买的金币号的确都是脚本刷的。但店家使用的脚本与出售给个人用户使用的“炉石兄弟脚本”不同。为了一台电脑能同时挂上更多的账号,他们选用的脚本都十分廉价和低级,只会打脸,不懂解场。并且由于是新号,使用的都是基本卡组。也正因为如此,这些账号并不安全,一个月到半年内就会被查封。
答主建议:金币号可以以开包爽一爽或者新手磨炼竞技场为目的而购买。但切记:勿把金币号充当大号使用。
3、我在天梯很高的位置遇到一个动作很僵硬、鼠标指向时不时瞬移的对手,但是他打的很棒,懂解场时机和打脸时机,即使我很努力,还是被他打死了,他可不可能是脚本?如果是,它是怎么做到那么强大的?
绝大部分是。
脚本之王——“炉石兄弟”登场
炉石兄弟是德国兄弟公司专门针对炉石玩家出品的一款超智能辅助,可能让你平时忙碌之时,可以利用炉石兄弟达到简化游戏的目的。炉石兄弟目前功能有:智能化判定卡牌;智能计算英雄血量;支持练习模式、对战模式、竞技场模式和好友对战等等。无需复杂操作,无需人工值守,是我们刷500胜金头像、升级级、做日常、打每日金币等居家旅行最佳伴侣。使用炉石兄弟后,你就可以释放你的双手做更有意义的事。
即将没入历史车轮底下的的“炉石兄弟”脚本,通过几年的完善,已经发展出“出牌策略”和“开源模块”。出牌策略,分为“rush(打脸优先)”和“control(高血量控场优先,低血量捶脸)”。其中后者便是肆虐天梯10-5的脚本所仰仗的核心技术。至于“开源模块”,顾名思义,一些脚本爱好者可以根据理解自己写代码,优化脚本的策略,从而更好地上分:
脚本高玩之间的对话↑
省略一万行...
省略一万行*2...
在众多脚本爱好者的加持下,炉石兄弟的极限能触碰到哪里?
刚开始听闻时,几乎毁了楼主的三观:
挂机轻松上传说。再次扪心自问:炉石传说,真是个技术游戏?
大家好奇的那种上传说的脚本,给大家解密一下吧,满足一下知友们的好奇心,下图为启动后的首页面
一、设置炉石兄弟。
1.选中你需要的脚本
2.Main为界面设置,不需要动他
3、挂机模式设置
· 在此设置游戏的模式,以及卡组的选择。
· 每一个模式都有对应的设置。设置成功后,以后选择模式即可按你的设置来进行游戏。
· 指定卡组:当你选择自定义卡组时,必须输入你指定的卡组名称(例:T7猎)
(练习模式设置)
(对战模式设置)
(竞技场模式设置)
(统计设置)
然后点开始,脚本就自动运行了,使用途中如果你想停下手动操作,点下Stop即可,要继续挂机,再次点Star即可。
图中保持创建等级为赢一盘自动投降一盘,保持胜率各半,在日常刷金币时勾选,上天梯时不勾选,设置卡组名称填到框内,脚本会自动识别,至于大家好奇的脚本上传说的操作,只能告诉大家那在几个月之前是很真实的,这几个月以来由于海盗战小斧子的削弱和狂野活人数量增加的原因,脚本上传说仅存在理论上的可能,不过上低保是很容易的。
二、惊为天人的对战策略
不过,炉石这个游戏,同一个卡组,在不同的玩家手里,水平是不一样的。就算是同一个脚本,在不同的使用者手上,效果也是不一样的。没有接触过这个脚本的玩家想要理解怎样用炉石兄弟这个脚本在天梯10-5级左右的分段砍爆对手的头像,我给大家几张截图就比较清晰了。
下面这张图是脚本的自定义起手留牌策略文件,CFM—637对应帕奇斯,warrior对应战士,这行代码决定起手战士永远不留帕奇斯,下面的有起手有舰载火炮留一费海盗,起手打贼战士留杀手蟹等等具体留牌策略。
下面这张图很通俗,是一些常用combo
下面这张图中的enfacehp=22代表对面血量22点以下必定用刀砍对面脸,当然高于22点时如果手里有多余的刀,也会砍。第三段的maxwide相当于思考深度,也就是智商,平时休闲模式挂金币设置为3000就行,打狂野天梯5级则设置为10000的思考深度,下面的几个分别是思考防不防aoe,防不防奥秘,出牌速度,等等,这里不同的设置就体现在这个脚本解场打脸的选择,也就是贪不贪。
下面这个文件显示的是海盗战芬利爵士的技能选择优先级,我这里设置的前三优先分别是术士的撮一口,法师火冲和猎人的射箭。
以上这些图里的操作,基本上都用到的人,已经可以挂机上狂野5级了。至于更加深度的操作这个脚本,就不是我这个菜鸟会的啦,答主是17年1月入的坑,传说是暑假全程自己狂野海盗战手打上的,截图留个念吧,对兄弟这个脚本的感情快比炉石深了,毕竟穷学生实在是氪不起那么多388。
4、炉石兄弟这个知名脚本公司为什么放着躺着数钱的脚本不卖了?暴雪对于脚本公司的态度是怎样的,做了什么具体的行动?有哪些成效?
这就要从暴雪和thebuddy(炉石兄弟母公司)之间旷日持久的官司说起:
其实不仅是炉石兄弟,从最初的魔兽兄弟,到最新的守望watckover-tyrant自动瞄准挂。暴雪均采取了法律诉讼,外挂检测,封号等等的手段来与之对抗。
暴雪在2015年起诉公司位于德国的agains Bossland公司(thebuddy外挂的服务器所在),期间由于跨国起诉难度大,该案件一直悬而未决,期间还败诉过一次,暴雪之后在2016年时用守望的名义发起二次起诉。
此前,Bossland在此案中占有优势,然而暴雪以“销售能干扰在线游戏的外挂程序是一种反竞争行为”为由逆转了此案。因此,德国法院叫停了thebuddy任何在德国的外挂销售行为。此案最后以和解的形式达成,但和具体解内容并未公布。
在今年年初,thebuddy对其用户表示,由于长期诉讼费用,导致工作室资金不足,因此软件的”终生有效版”被降为2年有效。并在今年十一月正式宣布了旗下四款外挂产品(Honorbuddy, Lazymon, Buddywing, Hearthbuddy)的死亡。
此外,几乎每年都会有金币号大规模封杀事件出现,但官方似乎并不是很热衷于做这样的事情。最近的一次是出现在17年1月18日,封杀规模达数十万。这里有封号名单部分截图。
暗影家族又做错了什么!本家族永不为奴!( ?_?)?⌒●~*
5、炉石“盗版”脚本是怎么一回事?它的泛滥对于脚本开发商、脚本用户、普通玩家会有什么影响?
给大部分炉石兄弟脚本用户的忠告:你以为自己支持了脚本开发商,但其实,你错了!你使用的是盗版炉石兄弟脚本,脚本开发商没有获得一丝收益!他的灭亡虽说一部分是暴雪这个“母体”做的打压,更有盗版脚本这个“趴在蛀虫上的病毒”在吸取炉石兄弟的生命!
盗版脚本科普:盗正版的炉石兄弟有登陆验证,买了月卡才能正常登陆并使用。但是,正版的炉石兄弟单买一个月价格高达13欧元(约95人民币),并不符合我国国情。然而国内开发者开发不出同样高效的脚本(毕竟德国工艺),买家都在用钱投票。最后,中国脚本开发者通过反编译弄到源码,再自建服务器和盗版登录器,盗版炉石兄弟便轻松诞生了。
如此省时的过程自然不需要太多开发成本,盗版月卡的价格自然也通过同行间的恶性竞争,下降到仅仅10~25人民币,你们在淘宝网上轻松选购的那些脚本都是盗版的产物。(答主不会宣传任何商家的产品,下图呈现给大家看是因为已经失去了购买价值)
注:正版盗版使用体验并不是完全一样:
1、盗版版本更新较慢,一般有2~3天的版本延迟。
2、盗版相对不够稳定。
3、封号几率比正版高一点点(因为没有Tripware防护)
炉石兄弟脚本的时代就如外媒所述的那样结束了?
Too Young!
答主潜入的售后群聊天截图。
群成员虽然大都很失望,但是也都抱着理解的心态对待外挂停止服务的现实(果然打炉石的朋友大都心态都不会差)。但他们似乎都不知道炉石兄弟真正的命运。
紧接着,答主联系到了脚本团队,通过一些手段博取了一定的信任,拿到了下面聊天记录:(很多细节涉及隐私,不予透露,感谢理解)
1、炉石兄弟脚本还活着,已经由我们团队继承了。
2、新的脚本不会称为“炉石兄弟”(换壳不换心),还没定好新的名字以及出售策略。
3、旧的key将全部无效。
人类与智械的战斗还将继续。
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
今日搜狐热点32163 条评论分享收藏感谢收起赞同 35285 条评论分享收藏感谢收起&figure&&img src=&https://pic1.zhimg.com/v2-5a72a1afacfcda6_b.jpg& data-rawwidth=&533& data-rawheight=&300& class=&origin_image zh-lightbox-thumb& width=&533& data-original=&https://pic1.zhimg.com/v2-5a72a1afacfcda6_r.jpg&&&/figure&&blockquote&程序员有了老婆之后就是累,上次好不容易给她解释了&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&什么是Restful&/a&,这不,麻烦又来了…&/blockquote&&p&一个周日的清晨,阳光洒在我的脸上,慢慢把我唤醒。我翻过身,感觉好像少了些什么东西,缓缓地睁开眼睛,“咦,老婆呢?”&br&突然,我发现床上多了张纸条:&/p&&blockquote&看到这封信时,我已经在回娘家的路上,原因我相信你懂的。如果你不懂,请将信翻到背面。&/blockquote&&p&我一脸懵逼,将纸翻了过来:&/p&&blockquote&哼,你怎么可能不知道原因,你翻过来看就是想确认我发现的是不是你那个秘密而已,那我就告诉你吧。&br&&br&在你的书桌上,有一本叫《微服务设计》的书,我虽然是女生,但也知道“服务”是个什么勾当,没想到你放着好好的程序员不做,居然做起了“服务”,你和旧时代的老鸨有什么区别?&br&&br&书我翻了一下,想看看你的这种“微服务”是怎么个“微”法,哼,你们程序员挺精明的,看的书都加密过的?别以为我不知道那些是代码,是你们程序员的通用语言。鬼知道里面讲了什么东西。&br&&br&不管怎样,既然你选择了这条路,也就别怪我不仁不义,再见。不,再也不见。 —— 对你很失望的静香&/blockquote&&p&我渐渐地缓过神来,百感交集,思绪万千,冥想了一会,拿起手机,给她发了信息:&br&“下午四点,老地方,给你解释什么是微服务。”&/p&&h2&沃尔兹百货超市&/h2&&p&我提前十五分钟来到了咖啡厅。临近四点,我开始望着门口,59分49秒,一个熟悉的身影走了进来,戴着墨镜,披着纱巾,是她。&br&“服务员,一个芝士蛋糕,两杯拿铁,谢谢”,我对服务员说。&/p&&p&“说吧,你有什么要解释的?”&br&“嗯,首先,我向你保证,我在看的“微服务”,绝对不是你想的那种“服务””&br&“那是什么?”&br&“这个解释起来要花点时间,我们先吃点蛋糕,待会再慢慢和你解释”&/p&&p&过了一会,蛋糕吃的差不多了。“看到对面那家沃尔兹百货超市了么?”,我指着窗外面的沃尔兹超市,对老婆说。&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-95f2dad1d3fb9e59ee763fd3_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&800& data-rawheight=&450& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&https://pic1.zhimg.com/v2-95f2dad1d3fb9e59ee763fd3_r.jpg&&&/figure&&p&“嗯?”&br&“那里面什么都有,衣服、食品、文具、家私、电器,应有尽有,而且不管你去到哪一家连锁店,店里的格局都是一模一样的。也正因为如此,这才带来了问题。”&br&“有什么问题呢?我觉得这样挺好呀,顾客去了那里,想买什么都找得着。”&br&“首先,这些卖不同物品的&b&隔间之间会互相影响&/b&。你看,一楼是珠宝店和电器店,假如珠宝店想进行装修,装修时的噪声和灰尘,势必会影响到电器店;还有,假如由于电器店一名员工的疏忽,引发了火灾,旁边的珠宝店是不是也会受到牵连?”&br&“你这乌鸦嘴…”&br&“哈哈,都说是假如啦。除了这点,还有一个问题,我考考你,我们这个城市里有几家沃尔兹超市?”&br&“我想想,好像就这一家?”&br&“没错,只在西区这里开了一家店。这时候市场总监发现,住在东区的多是上层阶级,他们对珠宝的需求量比较大,这时候要怎么办?”&br&“那就在东区也开一家沃尔兹百货超市罗。”&br&“嗯,只能是这样了,可是东区的居民对其他东西的需求并不多,而沃尔兹超市又想让每家分店卖的东西都是一样的,所以他们不得不在东区开一家分店,不仅卖珠宝,也卖食品、衣服还有其他东西“&br&“这挺浪费的呀,&b&为了满足人们对珠宝的需求,又开了一个百货超市&/b&。”,老婆若有所思。&br&“的确,什么都有、什么都卖的百货超市实在是太&b&笨重&/b&了,这才有了“微服务””&br&“哦?终于要讲微服务了?哼哼。”&/p&&h2&沃尔兹小店&/h2&&p&“你看,假如我们把沃尔兹百货超市,&b&拆成很多个卖不同商品的小店&/b&,比如卖珠宝的沃尔福、卖家私的沃尔家、卖食品的沃尔良还有卖衣服的沃尔衣,这些提供不同服务的店,分布在城市的各个地方,这样他们之间就不会互相影响了。东区二巷的沃尔家搞装修,三巷的沃尔福不会受到影响;三巷的沃尔福发生火灾了,二巷的沃尔家也安然无恙。”&br&“Soga,原来是这种微服务”,老婆笑着说。&br&“不仅如此,现在,我们发现东区的居民对珠宝的需求量大,那我们就在东区&b&多开几家沃尔福&/b&,而在西区,中产阶级较多的地方,我们就多开几家沃尔良。”&br&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-a691ad76e404fa249afaad18c32964c4_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&800& data-rawheight=&355& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&https://pic3.zhimg.com/v2-a691ad76e404fa249afaad18c32964c4_r.jpg&&&/figure&&p&“哇塞,这样看来,微服务让沃尔兹变得&b&轻巧&/b&了许多!&b&哪个地方对某种服务的需求大,就在对应的地方多开几家卖那种服务的小店就好了&/b&。”&/p&&h2&沃尔兹网店&/h2&&p&“看来微服务就是把一个百货店变成各个小店嘛,讲这个东西至于用那么厚一本书么?”,老婆是个好奇心很强的女生。 &br&“哈,微服务当然不只是这些,我们现在只是把一个百货店拆成各个小店,但是对于&b&如何管理这些小店&/b&,我们还没做好准备”&br&“哦?这里面还有什么门道?”&br&“当然,别忘了,沃尔兹可是有网店的。以前还是百货超市的时候,要是有顾客从网上买了一件衣服,那直接从百货超市的仓库里取出这件衣服,给顾客寄过去就好了;现在呢,每一家卖衣服的沃尔衣都有自己的仓库,顾客下单后,&b&工作人员要怎么知道顾客所在区域有哪几家沃尔衣?要从哪家沃尔衣发货呢?&/b&”&br&“哟西,还有这个问题。那&b&沃尔兹总店肯定知道他们在哪个地方开有什么分店吧&/b&?”&br&“没错,这时候网店工作人员会从总店那里查出,顾客收货地址所在区域有哪些家沃尔衣,接下来就是从这些沃尔衣店里,选一家,给顾客寄快递过去。”&br&“就选离顾客最近那一家就好啦。”&br&“哈,那万一东区有两家沃尔衣,一家靠近居民区,一家靠近商业区,而顾客通常写的收获地址都是写自己家呢?”&br&“这样… 那靠近居民区的沃尔衣就会收到很多订单,经常要不断的进货,而靠近商业区的那家,就没什么订单了,是吧?”,老婆睁大双眼看着我。&br&“对!这就是问题,所以网店工作人员会对在一个区域内的沃尔衣,进行&b&轮流发货&/b&的操作,比如这一次是靠近居民区的这家发货,那下一次,就让靠近商业区的沃尔衣发货。”&br&“Soga!”&br&“用计算机术语来说,就是&b&Load Balancing&/b&,负载均衡”&br&“呵呵,少扯这些术语,我只知道New Balance”&br&“哈哈,怎么样,微服务不是你想象的那样吧,当然,在经济学领域,要考虑的因素还有很多,现实生活中的沃尔兹依然是一个大百货超市,自然是有它的道理的。微服务的应用主要是在更为纯粹的计算机领域,也就是你看到的那些代码”&br&“得了,看到那些头就大,走,带我去娘家拿行李”&br&“……”&/p&&h2&对程序员的话&/h2&&p&用了大白话,给老婆讲明白了微服务的来龙去脉,当然,我还是有些话想说的,还是怕老婆听完一脸懵逼,没给她说:&br&1、&br&讲微服务,就不得不从&b&单体应用&/b&(Monolithic )讲起。&br&所谓单体应用,就像一开始的沃尔兹百货超市一样,把所有业务的代码都放在一起。这对于小型项目来说自然是很合适的,可是项目一旦大了起来,业务一多,这个单体也就&b&膨胀&/b&了,膨胀后的单体应用主要有以下两个缺点:&/p&&ul&&li&&b&牵一发而动全身&/b&。我改了一个业务的一行代码,需要重启整个单体应用,这显然不不合理的。就像珠宝店装修时影响了旁边的电器店,电器店着火时殃及珠宝店一样。&/li&&li&&b&只能水平扩展,不能纵向扩展&/b&。对于单体应用,如果发现某一业务的请求量非常大,那么是无法单独扩展该业务的,只能拷贝整个单体应用,再部署一套环境,来实现集群。&/li&&/ul&&p&正因为单体应用有着这些缺陷,才有了微服务。微服务和单体应用的区别,可以用Martin Fowler的这张图来解释:&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-36d09a2ef4dd2e9ff1557_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&810& data-rawheight=&492& class=&origin_image zh-lightbox-thumb& width=&810& data-original=&https://pic4.zhimg.com/v2-36d09a2ef4dd2e9ff1557_r.jpg&&&/figure&&p&&br&&/p&&p&2、&br&微服务虽然带来了架构上的优势,但同时也引入了&b&复杂性&/b&。我们不得使用一些组件,来解决技术复杂性提高之后带来的问题:&/p&&ul&&li&&b&服务注册中心&/b&:一个服务可以有多个&b&实例&/b&,那么我们在向一个服务发出请求的时候,怎么知道这个服务有哪些实例呢?为了减少手工维护的麻烦,我们需要服务注册中心。每个服务实例在启动时,向注册中心注册自己的IP地址等信息。这样,服务在调用别的服务的接口时,就可以通过注册中心,查询到其他服务的实例,向实例发起请求。沃尔兹总店就是起到注册中心的作用。&/li&&li&&b&负载均衡&/b&:由于一个服务可以有多个实例,所以不管是来自外部客户端的请求,还是微服务系统内部服务之间发起的请求,都需要引入负载均衡的机制,来发挥多实例集群的作用。有的书也称这两种负载均衡为&b&服务器端负载均衡&/b&和&b&客户端负载均衡&/b&,各自具有代表性意义的实现分别是Nginx和Ribbon。&/li&&li&&b&API Gateway&/b&:一个外部请求过来之后,我们需要知道这个请求是发给哪个服务的,也就是我们需要一个&b&请求路由&/b&的功能,比如/cm/*的请求,要发给客户管理服务,/om/*的请求,要发给订单管理服务。另外,不是所有请求都可以被我们系统处理的,我们需要判断这个请求是否携带一些必要的鉴权信息,并对其进行鉴权,也就是&b&请求过滤&/b&的功能。而API Gateway,就是起到了这两个功能,它就像&b&整个微服务系统的门面&/b&,所有请求,都要先经过它的处理,才会转发到对应的服务。&/li&&li&……&/li&&/ul&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-981b89570cb0eac2a5eb4b_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1294& data-rawheight=&1038& class=&origin_image zh-lightbox-thumb& width=&1294& data-original=&https://pic2.zhimg.com/v2-981b89570cb0eac2a5eb4b_r.jpg&&&/figure&&p&&br&&/p&&p&微服务系统的衍生组件还有很多,比如对各个服务进行的配置管理的分布式配置中心、各个服务之间进行消息通讯的消息总线和消息驱动机制(上图中的Message Queue)等,这里就不一一列举了。这篇文章只是想用一种比较有趣的方式,让大家对微服务有一个初步的了解。就像学设计模式,如果直接去看四人帮的《设计模式——可复用面向对象软件的基础》,也许很多人学到一半就学不下去了,而如果先去看《Head First设计模式》,再去看前面那本书,也许就会发现轻松很多。&/p&&p&大家如果想对微服务有进一步的理解,我这边首推Martin Fowler的&a href=&https://link.zhihu.com/?target=https%3A//martinfowler.com/articles/microservices.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Microservices - a definition of this new architectural term&/a&,微服务这个词也是在这篇文章里被首次提出,可以说是微服务的一手资料了。阅读这篇著作,你可以:&/p&&ul&&li&对微服务的来源有更深入的了解,知道微服务这种设计模式,和Unix以及&b&康威定律&/b&的关系;&/li&&li&看到微服务是如何影响软件开发的&b&组织结构&/b&的,其实也就是康威定律;&/li&&li&看到Martin Fowler总结的设计微服务系统的几个原则;&/li&&li&从这篇著作底下的参考文献,看到一些助推了微服务架构的&b&原始论文&/b&。&/li&&/ul&&p&架构这种东西,和设计模式非常相像,两者都是针对某一类问题的解决方案。和设计模式一样,每种架构都有其优点,当然也会有缺点。只有弄清楚为什么要用这种架构,不用会怎样,用了又会怎样,知其然知其所以然,才能对架构进行灵活运用,在实际项目中发挥架构的优势。&/p&&h2&参考&/h2&&ul&&li&&a href=&https://link.zhihu.com/?target=https%3A//martinfowler.com/articles/microservices.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Microservices - a definition of this new architectural term&/a&&/li&&li&《微服务设计》&/li&&li&《Spring Cloud微服务实战》&/li&&/ul&&p&&br&&/p&&p&对了,个人&b&Bridge4You&/b&公众号已经开通,欢迎关注!&/p&&p&有些话只能在那里跟你说 (〃'▽'〃)&/p&
程序员有了老婆之后就是累,上次好不容易给她解释了,这不,麻烦又来了…一个周日的清晨,阳光洒在我的脸上,慢慢把我唤醒。我翻过身,感觉好像少了些什么东西,缓缓地睁开眼睛,“咦,老婆呢?” 突然,我发现床上多了张纸条:看到这封信时,…
&p&首先回答,是比较低级的炉石外挂, 一般是淘宝店批量运行的按键精灵,操作比较蠢。&/p&&p&大家好奇的那种上传说的脚本,名叫炉石兄弟,给大家解密一下吧,满足一下知友们的好奇心,下图为启动后的首页面&/p&&figure&&img src=&https://pic1.zhimg.com/50/v2-6c9a33ed2e3d21f93440bdff2058c8be_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&627& data-rawheight=&600& class=&origin_image zh-lightbox-thumb& width=&627& data-original=&https://pic1.zhimg.com/50/v2-6c9a33ed2e3d21f93440bdff2058c8be_r.jpg&&&/figure&&p&下面给大家看主要的操作页面&/p&&figure&&img src=&https://pic4.zhimg.com/50/v2-f6b155c7a48b_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1737& data-rawheight=&805& class=&origin_image zh-lightbox-thumb& width=&1737& data-original=&https://pic4.zhimg.com/50/v2-f6b155c7a48b_r.jpg&&&/figure&&p&图中保持创建等级为赢一盘自动投降一盘,保持胜率各半,在日常刷金币时勾选,上天梯时不勾选,设置卡组名称填到框内,脚本会自动识别,至于大家好奇的脚本上传说的操作,只能告诉大家那在几个月之前是很真实的,这几个月以来由于海盗战小斧子的削弱和狂野活人数量增加的原因,脚本上传说仅存在理论上的可能,不过上低保是很容易的。&/p&&p&&br&&/p&&p&不过,炉石这个游戏,同一个卡组,在不同的玩家手里,水平是不一样的。就算是同一个脚本,在不同的使用者手上,效果也是不一样的。没有接触过这个脚本的玩家想要理解怎样用炉石兄弟这个脚本在天梯10-5级左右的分段砍爆对手的头像,我给大家几张截图就比较清晰了。&/p&&p&下面这张图是脚本的自定义起手留牌策略文件,CFM—637对应帕奇斯,warrior对应战士,这行代码决定起手战士永远不留帕奇斯,下面的有起手有舰载火炮留一费海盗,起手打贼战士留杀手蟹等等具体留牌策略。&/p&&figure&&img src=&https://pic2.zhimg.com/50/v2-a0c271ecf2ba_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1332& data-rawheight=&881& class=&origin_image zh-lightbox-thumb& width=&1332& data-original=&https://pic2.zhimg.com/50/v2-a0c271ecf2ba_r.jpg&&&/figure&&p&下面这张图很通俗,是一些常用combo&/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-6734aec9a96c_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1489& data-rawheight=&901& class=&origin_image zh-lightbox-thumb& width=&1489& data-original=&https://pic3.zhimg.com/50/v2-6734aec9a96c_r.jpg&&&/figure&&p&下面这张图中的enfacehp=22代表对面血量22点以下必定用刀砍对面脸,当然高于22点时如果手里有多余的刀,也会砍。第三段的maxwide相当于思考深度,也就是智商,平时休闲模式挂金币设置为3000就行,打狂野天梯5级则设置为10000的思考深度,下面的几个分别是思考防不防aoe,防不防奥秘,出牌速度,等等,这里不同的设置就体现在这个脚本解场打脸的选择,也就是贪不贪。&/p&&figure&&img src=&https://pic4.zhimg.com/50/v2-1c3c25ffd014e_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1497& data-rawheight=&896& class=&origin_image zh-lightbox-thumb& width=&1497& data-original=&https://pic4.zhimg.com/50/v2-1c3c25ffd014e_r.jpg&&&/figure&&p&下面这个文件显示的是海盗战芬利爵士的技能选择优先级,我这里设置的前三优先分别是术士的撮一口,法师火冲和猎人的射箭。&/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-86cb98e5b9533f2ebd6c99add77e6e62_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1626& data-rawheight=&875& class=&origin_image zh-lightbox-thumb& width=&1626& data-original=&https://pic3.zhimg.com/50/v2-86cb98e5b9533f2ebd6c99add77e6e62_r.jpg&&&/figure&&p&以上这些图里的操作,基本上都用到的人,已经可以挂机上狂野5级了。至于更加深度的操作这个脚本,就不是我这个菜鸟会的啦,答主是17年1月入的坑,传说是暑假全程自己狂野海盗战手打上的,截图留个念吧,对兄弟这个脚本的感情快比炉石深了,毕竟穷学生实在是氪不起那么多388。&/p&&figure&&img src=&https://pic1.zhimg.com/50/v2-946ad58ded3cda11e80c4f20d8ea46d8_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1456& data-rawheight=&856& class=&origin_image zh-lightbox-thumb& width=&1456& data-original=&https://pic1.zhimg.com/50/v2-946ad58ded3cda11e80c4f20d8ea46d8_r.jpg&&&/figure&
首先回答,是比较低级的炉石外挂, 一般是淘宝店批量运行的按键精灵,操作比较蠢。大家好奇的那种上传说的脚本,名叫炉石兄弟,给大家解密一下吧,满足一下知友们的好奇心,下图为启动后的首页面下面给大家看主要的操作页面图中保持创建等级为赢一盘自动投…
&figure&&img src=&https://pic2.zhimg.com/v2-575b730c3a0deaf3b0e942_b.jpg& data-rawwidth=&640& data-rawheight=&454& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic2.zhimg.com/v2-575b730c3a0deaf3b0e942_r.jpg&&&/figure&&p&这是「萌萌的技术客栈」第11篇文章。来自阿里游戏资深软件工程师李运华的投稿,本文首发自InfoQ公众号(ID: infoqchina)。&/p&&b&前言&/b&&br&&br&“不管是开发、测试、运维,每个技术人员心理多多少少都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢”!正是对技术梦的追求,促使我们不断地努力和提升自己。然而……&p&然而“梦想是美好的,现实却是残酷的”,很多同学在实际工作后就会发现,梦想是成为大牛,但做的事情看起来跟大牛都不沾边,例如,程序员说“天天写业务代码还加班,如何才能成为技术大牛”,测试说“每天都有执行不完的测试用例”,运维说“扛机器接网线敲shell命令,这不是我想要的运维人生”……&br&&/p&&p&由于我是程序员,所以以下的一些例子都是基于程序开发的,但大道理是相通的,测试、运维都可以借鉴。&/p&&p&&strong&几个典型的误区&/strong&&/p&&h3&&strong&拜大牛为师&/strong&&br&&/h3&&p&知乎上有人认为想成为技术大牛最简单直接、快速有效的方式是“拜团队技术大牛为师”,让他们平时给你开小灶,给你分配一些有难度的任务。&/p&&p&我个人是反对这种方法的,主要的原因有几个:&/p&&ol&&li&&p&大牛很忙,不太可能单独给你开小灶,更不可能每天都给你开1个小时的小灶;而且一个团队里面,如果大牛平时经常给你开小灶,难免会引起其他团队成员的疑惑,我个人认为如果团队里的大牛如果真正有心的话,多给团队培训是最好的。&/p&&p&然而做过培训的都知道,准备一场培训是很耗费时间的,课件和材料至少2个小时(还不能是碎片时间),讲解1个小时,大牛们一个月做一次培训已经是很高频了。&/p&&/li&&li&&p&因为第一个原因,所以一般要找大牛,都是带着问题去请教或者探讨。因为回答或者探讨问题无需太多的时间,更多的是靠经验和积累,这种情况下大牛们都是很乐意的,毕竟影响力是大牛的一个重要指标嘛。&/p&&p&然而也要特别注意:如果经常问那些书本或者google能够很容易查到的知识,大牛们也会很不耐烦的,毕竟时间宝贵。经常有网友问我诸如“jvm的-Xmn参数如何配置”这类问题,我都是直接回答“请直接去google”,因为这样的问题实在是太多了,如果自己不去系统学习,每个都要问是非常浪费自己和别人的时间的。&/p&&/li&&li&&p&大牛不多,不太可能每个团队都有技术大牛,只能说团队里面会有比你水平高的人,即使他每天给你开小灶,最终你也只能提升到他的水平;而如果是跨团队的技术大牛,由于工作安排和分配的原因,直接请教和辅导的机会是比较少的,单凭参加几次大牛的培训,是不太可能就成为技术大牛的。&/p&&/li&&/ol&&p&综合上述的几个原因,我认为对于大部分人来说,要想成为技术大牛,首先还是要明白“主要靠自己”这个道理,不要期望有个像武功师傅一样的大牛手把手一步一步的教你。适当的时候可以通过请教大牛或者和大牛探讨来提升自己,但大部分时间还是自己系统性、有针对性的提升。&/p&&p&&strong&业务代码一样很牛逼&/strong&&br&&/p&&p&知乎上有的回答认为写业务代码一样可以很牛逼,理由是业务代码一样可以有各种技巧,例如可以使用封装和抽象使得业务代码更具可扩展性,可以通过和产品多交流以便更好的理解和实现业务,日志记录好了问题定位效率可以提升10倍……等等。&/p&&p&业务代码一样有技术含量,这点是肯定的,业务代码中的技术是每个程序员的基础,但只是掌握了这些技巧,并不能成为技术大牛。就像游戏中升级打怪一样,开始打小怪,经验值很高,越到后面经验值越少,打小怪已经不能提升经验值了。这个时候就需要打一些更高级的怪,刷一些有挑战的副本了,没看到哪个游戏只要一直打小怪就能升到顶级的。&/p&&p&成为技术大牛的路也是类似的,你要不断的提升自己的水平,然后面临更大的挑战,通过应对这些挑战从而使自己水平更上一级,然后如此往复,最终达到技术大牛甚至业界大牛的境界,写业务代码只是这个打怪升级路上的一个挑战而已,而且我认为是比较初级的一个挑战。&/p&&p&所以我认为:&strong&业务代码都写不好的程序员肯定无法成为技术大牛,但只把业务代码写好的程序员也还不能成为技术大牛。&/strong&&/p&&p&&strong&上班太忙没时间自学&/strong&&br&&/p&&p&很多人认为自己没有成为技术大牛并不是自己不聪明,也不是自己不努力,而是中国的这个环境下,技术人员加班都太多了,导致自己没有额外的时间进行学习。&/p&&p&这个理由有一定的客观性,毕竟和欧美相比,我们的加班确实要多一些,但这个因素只是一个需要克服的问题,并不是不可逾越的鸿沟,毕竟我们身边还是有那么多的大牛也是在中国这个环境成长起来的。&/p&&p&我认为有几个误区导致了这种看法的形成:&/p&&p&&strong&1、上班做的都是重复工作,要想提升必须自己额外去学习&/strong&&/p&&p&形成这个误区的主要原因还是在于认为“写业务代码是没有技术含量的”,而我现在上班就是写业务代码,所以我在工作中不能提升。&/p&&p&&strong&2、学习需要大段的连续时间&/strong&&/p&&p&很多人以为要学习就要像学校上课一样,给你一整天时间来上课才算学习,而我们平时加班又比较多,周末累的只想睡懒觉,或者只想去看看电影打打游戏来放松,所以就没有时间学习了。&/p&&p&实际上的做法正好相反:首先我们应该在工作中学习和提升,因为学以致用或者有实例参考,学习的效果是最好的;其次工作后学习不需要大段时间,而是要挤出时间,利用时间碎片来学习。我会在接下来的篇幅讲“如何在工作中学习提升”,至于如何利用时间碎片来学习,可以参考:&a href=&http://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMjM5MDE0Mjc4MA%3D%3D%26mid%3D%26idx%3D1%26sn%3D7bd89e8d208b87a8c47b5b172cdc335d%26chksm%3Dbdbf0dc58ac884d3deab5ab7e7ed465d2%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&技术人的小目标:10000小时理论落地,你就是大牛&/a&&/p&&p&&strong&正确的做法&/strong&&/p&&h3&&strong&Do more&/strong&&br&&/h3&&p&做的更多,做的比你主管安排给你的任务更多。&/p&&p&我在HW的时候,负责一个版本的开发,这个版本的工作量大约是2000行左右,但是我除了做完这个功能,还将关联的功能全部掌握清楚了,代码(大约10000行)也全部看了一遍,做完这个版本后,我对这个版本相关的整套业务全部很熟悉了。&/p&&p&经过一两次会议后,大家发现我对这块掌握最熟了,接下来就有趣了:产品讨论需求找我、测试有问题也找我、老大对外支撑也找我;后来,不是我负责的功能他们也找我,即使我当时不知道,我也会看代码或者找文档帮他们回答……最后我就成了我这个系统的“专家”了。虽然这个时候我还是做业务的,还是写业务代码,但是我已经对整个业务都很熟悉了。&/p&&p&以上只是一个简单的例子,其实就是想说:要想有机会,首先你得从人群中冒出来,要想冒出来,你就必须做到与众不同,要做到与众不同,你就要做得更多!&/p&&p&&strong&怎么做得更多呢?可以从以下几个方面着手:&/strong&&/p&&p&&strong&1、熟悉更多业务&/strong&,不管是不是你负责的;熟悉更多代码,不管是不是你写的&/p&&p&这样做有很多好处,举几个简单的例子:&/p&&ul&&li&&p&需求分析的时候更加准确,能够在需求阶段就识别风险、影响、难点&/p&&/li&&li&&p&问题处理的时候更加快速,因为相关的业务和代码都熟悉,能够快速的判断问题可能的原因并进行排查处理&/p&&/li&&li&&p&方案设计的时候考虑更加周全,由于有对全局业务的理解,能够设计出更好的方案&/p&&/li&&/ul&&p&&strong&2、熟悉端到端&/strong&&/p&&p&比如说你负责web后台开发,但实际上用户发起一个http请求,要经过很多中间步骤才到你的服务器(例如浏览器缓存、DNS、nginx等),服务器一般又会经过很多处理才到你写的那部分代码(路由、权限等)这整个流程中的很多系统或者步骤,绝大部分人是不可能去参与写代码的,但掌握了这些知识对你的综合水平有很大作用,例如方案设计、线上故障处理这些更加有含金量的技术工作都需要综合技术水平。&/p&&p&“系统性”、“全局性”、“综合性”这些字眼看起来比较虚,但其实都是技术大牛的必备的素质,要达到这样的境界,必须去熟悉更多系统、业务、代码。&/p&&p&&strong&3、自学&/strong&&/p&&p&一般在比较成熟的团队,由于框架或者组件已经进行了大量的封装,写业务代码所用到的技术确实也比较少,但我们要明白“唯一不变的只有变化”,框架有可能要改进,组件可能要替换,现有技术可能已经无法满足业务需求,或者你换了一家公司,新公司既没有组件也没有框架,要你从头开始来做。&/p&&p&这些都是机会,也是挑战,而机会和挑战只会分配给有准备的人,所以这种情况下我们更加需要自学更多东西,因为真正等到要用的时候再来学已经没有时间了。&/p&&p&以java为例,大部分业务代码就是if-else加个数据库操作,但我们完全可以自己学些更多java的知识,例如垃圾回收,调优,网络编程等,这些可能暂时没用,但真要用的时候,不是google一下就可以了,这个时候谁已经掌握了相关知识和技能,机会就是谁的。&/p&&p&以垃圾回收为例,我自己平时就抽时间学习了这些知识,学了1年都没用上,但后来用上了几次,每次都解决了卡死的大问题,而有的同学,写了几年的java代码,对于stop-the-world是什么概念都不知道,更不用说去优化了。&/p&&p&特别是很多开源软件,更加需要自己平时去自学,例如Nginx、Redis、Mongodb、ElasticSearch等,在合适的时机引入这些技术,能够带来很大的价值。&/p&&p&&strong&Do better&/strong&&br&&/p&&p&要知道这个世界上没有完美的东西,你负责的系统和业务,总有不合理和可以改进的地方,这些“不合理”和“可改进”的地方,都是更高级别的怪物,打完后能够增加更多的经验值。识别出这些地方,并且给出解决方案,然后向主管提出,一次不行两次,多提几次,只要有一次落地了,这就是你的机会。&/p&&p&例如:&/p&&ul&&li&&p&重复代码太多,是否可以引入设计模式?&/p&&/li&&li&&p&系统性能一般,可否进行优化?&/p&&/li&&li&&p&目前是单机,如果做成双机是否更好?&/p&&/li&&li&&p&版本开发质量不高,是否引入高效的单元测试和集成测试方案?&/p&&/li&&li&&p&目前的系统太庞大,是否可以通过重构和解耦改为3个系统?&/p&&/li&&li&&p&阿里中间件有一些系统感觉我们也可以用,是否可以引入 ?&/p&&/li&&/ul&&p&&strong&只要你去想,其实总能发现可以改进的地方的&/strong&;如果你觉得系统哪里都没有改进的地方,那就说明你的水平还不够,可以多学习相关技术,多看看业界其它公司怎么做,BAT都怎么做。&/p&&p&我2013年调配到九游,刚开始接手了一个简单的后台系统,每天就是配合前台做数据增删改查,看起来完全没意思,是吧?如果只做这些确实没意思,但我们接手后做了很多事情:&/p&&ul&&li&&p&解耦,将一个后台拆分为2个后台,提升可扩展性和稳定性;&/p&&/li&&li&&p&双机,将单机改为双机系统,提高可靠性;&/p&&/li&&li&&p&优化,将原来一个耗时5小时的接口优化为耗时5分钟&/p&&/li&&/ul&&p&还有其它很多优化,后来我们这个组承担了更多的系统,后来这个小组5个人,负责了6个系统。&/p&&p&&strong&Do exercise&/strong&&br&&/p&&p&在做职业等级沟通的时候,发现有很多同学确实也在尝试Do more、Do better,但在执行的过程中,几乎每个人都遇到同一个问题:光看不用效果很差,怎么办?&/p&&p&例如:&/p&&ul&&li&&p&学习了jvm的垃圾回收,但是线上比较少出现FGC导致的卡顿问题,就算出现了,恢复业务也是第一位的,不太可能线上出现问题然后让每个同学都去练一下手,那怎么去实践这些jvm的知识和技能呢?&/p&&/li&&li&&p&Netty我也看了,也了解了Reactor的原理,但是我不可能参与Netty开发,怎么去让自己真正掌握Reactor异步模式呢?&/p&&/li&&li&&p&看了《高性能MySQL》,但是线上的数据库都是DBA管理的,测试环境的数据库感觉又是随便配置的,我怎么去验证这些技术呢?&/p&&/li&&li&&p&框架封装了DAL层,数据库的访问我们都不需要操心,我们怎么去了解分库分表实现?&/p&&/li&&/ul&&p&诸如此类问题还有很多,我这里分享一下个人的经验,其实就是3个词:learning、trying、teaching!&/p&&p&&strong&1、Learning&/strong&&/p&&p&这个是第一阶段,看书、google、看视频、看别人的博客都可以,但要注意一点是“系统化”,特别是一些基础性的东西,例如JVM原理、Java编程、网络编程,HTTP协议等等,这些基础技术不能只通过google或者博客学习,我的做法一般是先完整的看完一本书全面的了解,然后再通过google、视频、博客去有针对性的查找一些有疑问的地方,或者一些技巧。&/p&&p&&strong&2、Trying&/strong&&/p&&p&这个步骤就是解答前面提到的很多同学的疑惑的关键点,形象来说就是“自己动手丰衣足食”,也就是自己去尝试搭建一些模拟环境,自己写一些测试程序。例如:&/p&&ul&&li&&p&Jvm垃圾回收:可以自己写一个简单的测试程序,分配内存不释放,然后调整各种jvm启动参数,再运行的过程中使用jstack、jstat等命令查看jvm的堆内存分布和垃圾回收情况。这样的程序写起来很简单,简单一点的就几行,复杂一点的也就几十行。&/p&&/li&&li&&p&Reactor原理:自己真正去尝试写一个Reactor模式的Demo,不要以为这个很难,最简单的Reactor模式代码量(包括注释)不超过200行(可以参考Doug Lee的PPT)。自己写完后,再去看看netty怎么做,一对比理解就更加深刻了。&/p&&/li&&li&&p&MySQL:既然有线上的配置可以参考,那可以直接让DBA将线上配置发给我们(注意去掉敏感信息),直接学习;然后自己搭建一个MySQL环境,用线上的配置启动;要知道很多同学用了很多年MySQL,但是连个简单的MySQL环境都搭不起来。&/p&&/li&&li&&p&框架封装了DAL层:可以自己用JDBC尝试去写一个分库分表的简单实现,然后与框架的实现进行对比,看看差异在哪里。&/p&&/li&&li&&p&用浏览器的工具查看HTTP缓存实现,看看不同种类的网站,不同类型的资源,具体是如何控制缓存的;也可以自己用Python写一个简单的HTTP服务器,模拟返回各种HTTP Headers来观察浏览器的反应。&/p&&/li&&/ul&&p&还有很多方法,这里就不一一列举,简单来说,就是要将学到的东西真正试试,才能理解更加深刻,印第安人有一句谚语:I hear and I forget. I see and I remember. I do and I understand,而且“试试”其实可以比较简单,很多时候我们都可以自己动手做。&/p&&p&当然,如果能够在实际工作中使用,效果会更好,毕竟实际的线上环境和业务复杂度不是我们写个模拟程序就能够模拟的,但这样的机会可遇不可求,大部分情况我们还真的只能靠自己模拟,然后等到真正业务要用的时候,能够信手拈来。&/p&&p&&strong&3、Teaching&/strong&&/p&&p&一般来说,经过Learning和Trying,能掌握70%左右,但要真正掌握,我觉得一定要做到能够跟别人讲清楚。因为在讲的时候,我们既需要将一个知识点系统化,也需要考虑各种细节,这会促使我们进一步思考和学习。同时,讲出来后看或者听的人可以有不同的理解,或者有新的补充,这相当于继续完善了整个知识技能体系。&/p&&p&这样的例子很多,包括我自己写博客的时候经常遇到,本来我觉得自己已经掌握很全面了,但一写就发现很多点没考虑到;组内培训的时候也经常看到,有的同学写了PPT,但是讲的时候,大家一问,或者一讨论,就会发现很多点还没有讲清楚,或者有的点其实是理解错了。写PPT、讲PPT、讨论PPT,这个流程全部走一遍,基本上对一个知识点掌握就比较全面了。&/p&&p&&strong&总结&/strong&&/p&&p&成为技术大牛梦想虽然很美好,但是要付出很多,不管是Do more还是Do better还是Do exercise,都需要花费时间和精力,这个过程中可能很苦逼,也可能很枯燥,这里我想特别强调一下:前面我讲的都是一些方法论的东西,但真正起决定作用的,其实还是我们对技术的热情和兴趣!&/p&
这是「萌萌的技术客栈」第11篇文章。来自阿里游戏资深软件工程师李运华的投稿,本文首发自InfoQ公众号(ID: infoqchina)。前言 “不管是开发、测试、运维,每个技术人员心理多多少少都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢”!正是…
&p&这似乎是个很常见的图形学入门问题,我专门写了一篇专栏 &a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&用 C 语言画直线&/a& 和 github 项目 &a href=&//link.zhihu.com/?target=https%3A//github.com/miloyip/line& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&miloyip/line&/a&,介绍一些思路和分析。&/p&
这似乎是个很常见的图形学入门问题,我专门写了一篇专栏
和 github 项目 ,介绍一些思路和分析。
&figure&&img src=&https://pic1.zhimg.com/v2-29ef304af7a87eaf63c6e841_b.jpg& data-rawwidth=&1920& data-rawheight=&1200& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&https://pic1.zhimg.com/v2-29ef304af7a87eaf63c6e841_r.jpg&&&/figure&&p&一篇译文:&a href=&https://link.zhihu.com/?target=https%3A//www.serverdensity.com/monitor/linux/how-to/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&80 Linux Monitoring Tools for SysAdmins&/a&,由LCTT原创翻译。&/p&&p&随着互联网行业的不断发展,各种监控工具多得不可胜数。这里列出网上最全的监控工具。让你可以拥有超过80种方式来管理你的机器。&/p&&p&在本文中,我们主要包括以下方面:&/p&&ul&&li&命令行工具&/li&&li&网络相关内容&/li&&li&系统相关的监控工具&/li&&li&日志监控工具&/li&&li&基础设施监控工具&/li&&/ul&&p&监控和调试性能问题是一个艰巨的任务,但用对了正确的工具有时也是很容易的。下面是一些你可能听说过的工具,也有可能没有听说过——何不赶快开始试试?&/p&&h2&八大系统监控工具&/h2&&p&&b&1 top&/b&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-8dca97e8ba1b0af2ceb9_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic2.zhimg.com/v2-8dca97e8ba1b0af2ceb9_r.jpg&&&/figure&&p&这是一个被预装在许多 UNIX 系统中的小工具。当你想要查看在系统中运行的进程或线程时:top 是一个很好的工具。你可以对这些进程以不同的方式进行排序,默认是以 CPU 进行排序的。&/p&&p&&b&2 htop&/b&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-636d72cc21ecac2ecf035_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic1.zhimg.com/v2-636d72cc21ecac2ecf035_r.jpg&&&/figure&&p&htop 实质上是 top 的一个增强版本。它更容易对进程排序。它看起来上更容易理解,并且已经内建了许多通用操作。它也是完全交互式的。&/p&&p&&b&3 atop&/b&&/p&&p&atop 和 top,htop 非常相似,它也能监控所有进程,但不同于 top 和 htop 的是,它可以按日记录进程的日志供以后分析。它也能显示所有进程的资源消耗。它还会高亮显示已经达到临界负载的资源。&/p&&p&&b&4 apachetop&/b&&/p&&p&apachetop 会监控 apache 网络服务器的整体性能。它主要是基于 mytop。它会显示当前的读取进程、写入进程的数量以及请求进程的总数。&/p&&p&&b&5 ftptop&/b&&/p&&p&ftptop 给你提供了当前所有连接到 ftp 服务器的基本信息,如会话总数,正在上传和下载的客户端数量以及客户端是谁。&/p&&p&&b&6 mytop&/b&&/p&&p&mytop 是一个很简洁的工具,用于监控 mysql 的线程和性能。它能让你实时查看数据库以及正在处理哪些查询。&/p&&p&&b&7 powertop&/b&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-a6edce1b9d1cd4e5cc5e8bcbd630a4b7_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic3.zhimg.com/v2-a6edce1b9d1cd4e5cc5e8bcbd630a4b7_r.jpg&&&/figure&&p&powertop 可以帮助你诊断与电量消耗和电源管理相关的问题。它也可以帮你进行电源管理设置,以实现对你服务器最有效的配置。你可以使用 tab 键切换选项卡。&/p&&p&&b&8 iotop&/b&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-0efd5abaf0a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic1.zhimg.com/v2-0efd5abaf0a_r.jpg&&&/figure&&p&iotop 用于检查 I/O 的使用情况,并为你提供了一个类似 top 的界面来显示。它按列显示读和写的速率,每行代表一个进程。当发生交换或 I/O 等待时,它会显示进程消耗时间的百分比。&/p&&h2&与网络相关的监控&/h2&&p&&b&9 ntopng&/b&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-67f26212beaa_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic3.zhimg.com/v2-67f26212beaa_r.jpg&&&/figure&&p&ntopng 是 ntop 的升级版,它提供了一个能通过浏览器进行网络监控的图形用户界面。它还有其他用途,如:地理定位主机,显示网络流量和 ip 流量分布并能进行分析。&/p&&p&&b&10 iftop&/b&&/p&&p&iftop 类似于 top,但它主要不是检查 cpu 的使用率而是监听所选择网络接口的流量,并以表格的形式显示当前的使用量。像“为什么我的网速这么慢呢?!”这样的问题它可以直接回答。&/p&&p&&b&11 jnettop&/b&&/p&&p&jnettop 以相同的方式来监测网络流量但比 iftop 更形象。它还支持自定义的文本输出,并能以友好的交互方式来深度分析日志。&/p&&p&&b&12 bandwidthd&/b&&/p&&p&BandwidthD 可以跟踪 TCP/IP 网络子网的使用情况,并能在浏览器中通过 png 图片形象化地构建一个 HTML 页面。它有一个数据库系统,支持搜索、过滤,多传感器和自定义报表。&/p&&p&&b&13 EtherApe&/b&&/p&&p&EtherApe 以图形化显示网络流量,可以支持更多的节点。它可以捕获实时流量信息,也可以从 tcpdump 进行读取。也可以使用 pcap 格式的网络过滤器来显示特定信息。&/p&&p&&b&14 ethtool&/b&&/p&&p&ethtool 用于显示和修改网络接口控制器的一些参数。它也可以用来诊断以太网设备,并获得更多的统计数据。&/p&&p&&b&15 NetHogs&/b&&/p&&p&NetHogs 打破了网络流量按协议或子网进行统计的惯例,它以进程来分组。所以,当网络流量猛增时,你可以使用 NetHogs 查看是由哪个进程造成的。&/p&&p&&b&16 iptraf&/b&&/p&&p&iptraf 收集的各种指标,如 TCP 连接数据包和字节数,端口统计和活动指标,TCP/UDP 通信故障,站内数据包和字节数。&/p&&p&&b&17 ngrep&/b&&/p&&p&ngrep 就是网络层的 grep。它使用 pcap ,允许通过指定扩展正则表达式或十六进制表达式来匹配数据包。&/p&&p&&b&18 MRTG&/b&&/p&&p&MRTG 最初被开发来监控路由器的流量,但现在它也能够监控网络相关的东西。它每五分钟收集一次,然后产生一个 HTML 页面。它还具有发送邮件报警的能力。&/p&&p&&b&19 bmon&/b&&/p&&p&bmon 能监控并帮助你调试网络。它能捕获网络相关的统计数据,并以友好的方式进行展示。你还可以与 bmon 通过脚本进行交互。&/p&&p&&b&20 traceroute&/b&&/p&&p&traceroute 是一个内置工具,能显示路由和测量数据包在网络中的延迟。&/p&&p&&b&21 IPTState&/b& &/p&&p&IPTState 可以让你观察流量是如何通过 iptables,并通过你指定的条件来进行排序。该工具还允许你从 iptables 的表中删除状态信息。&/p&&p&&b&22 darkstat&/b&&/p&&p&darkstat 能捕获网络流量并计算使用情况的统计数据。该报告保存在一个简单的 HTTP 服务器中,它为你提供了一个非常棒的图形用户界面。&/p&&p&&b&23 vnStat&/b&&/p&&p&vnStat 是一个网络流量监控工具,它的数据统计是由内核进行提供的,其消耗的系统资源非常少。系统重新启动后,它收集的数据仍然存在。有艺术感的系统管理员可以使用它的颜色选项。&/p&&p&&b&24 netstat &/b&&/p&&p&netstat 是一个内置的工具,它能显示 TCP 网络连接,路由表和网络接口数量,被用来在网络中查找问题。&/p&&p&&b&25 ss&/b&&/p&&p&比起 netstat,使用 ss 更好。ss 命令能够显示的信息比 netstat 更多,也更快。如果你想查看统计结果的总信息,你可以使用命令 ss -s。&/p&&p&&b&26 nmap&/b&&/p&&p&Nmap 可以扫描你服务器开放的端口并且可以检测正在使用哪个操作系统。但你也可以将其用于 SQL 注入漏洞、网络发现和渗透测试相关的其他用途。&/p&&p&&b&27 MTR&/b&&/p&&p&MTR 将 traceroute 和 ping 的功能结合到了一个网络诊断工具上。当使用该工具时,它会限制单个数据包的跳数,然后监视它们的到期时到达的位置。然后每秒进行重复。&/p&&p&&b&28 Tcpdump&/b&&/p&&p&Tcpdump 将按照你在命令行中指定的表达式输出匹配捕获到的数据包的信息。你还可以将此数据保存并进一步分析。&/p&&p&&b&29 Justniffer&/b&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-ebfeddad33acb730c6d968c_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic3.zhimg.com/v2-ebfeddad33acb730c6d968c_r.jpg&&&/figure&&p&Justniffer 是 tcp 数据包嗅探器。使用此嗅探器你可以选择收集低级别的数据还是高级别的数据。它也可以让你以自定义方式生成日志。比如模仿 Apache 的访问日志。&/p&&h2&与系统有关的监控&/h2&&p&&b&30 nmom&/b&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-8b85b6bebdf1d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic4.zhimg.com/v2-8b85b6bebdf1d_r.jpg&&&/figure&&p&nmon 将数据输出到屏幕上的,或将其保存在一个以逗号分隔的文件中。你可以查看 CPU,内存,网络,文件系统,前列 进程。数据也可以被添加到 RRD 数据库中用于进一步分析。&/p&&p&&b&31 Conky&/b&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-764fc214ca832a0b0c457f_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic2.zhimg.com/v2-764fc214ca832a0b0c457f_r.jpg&&&/figure&&p&Conky 能监视很多的操作系统数据。它支持 IMAP 和 POP3, 甚至许多流行的音乐播放器!出于方便不同的人,你可以使用自己的 Lua 脚本或程序来进行扩展。&/p&&p&&b&32 Glances&/b&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-6d54ba343cbebf0f64f4e_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic1.zhimg.com/v2-6d54ba343cbebf0f64f4e_r.jpg&&&/figure&&p&使用 Glances 监控你的系统,其旨在使用最小的空间为你呈现最多的信息。它可以在客户端/服务器端模式下运行,也有远程监控的能力。它也有一个 Web 界面。&/p&&p&&b&33 Saidar&/b&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-818f858c641d7d89cdb59_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic2.zhimg.com/v2-818f858c641d7d89cdb59_r.jpg&&&/figure&&p&Saidar 是一个非常小的工具,为你提供有关系统资源的基础信息。它将系统资源在全屏进行显示。重点是 saidar 会尽可能的简化。&/p&&p&&b&34 RRDtool&/b&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-b6fc0634ab5_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic1.zhimg.com/v2-b6fc0634ab5_r.jpg&&&/figure&&p&RRDtool 是用来处理 RRD 数据库的工具。RRDtool 旨在处理时间序列数据,如 CPU 负载,温度等。该工具提供了一种方法来提取 RRD 数据并以图形界面显示。&/p&&p&&b&35 monit&/b&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-b6d6ec506d6bb_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic1.zhimg.com/v2-b6d6ec506d6bb_r.jpg&&&/figure&&p&如果出现故障时,monit 有发送警报以及重新启动服务的功能。它可以对各种数据进行检查,你可以为 monit 写一个脚本,它有一个 Web 用户界面来分担你眼睛的压力。&/p&&p&&b&36 Linux process explorer&/b&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-25cac58fcf250_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic3.zhimg.com/v2-25cac58fcf250_r.jpg&&&/figure&&p&Linux process explorer 是类似 OSX 或 Windows 的活动监视器。它比 top 或 ps 的使用范围更广。你可以查看每个进程的内存消耗以及 CPU 的使用情况。&/p&&p&&b&37 df&/b&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-1c60e2ea8ae072c29c13bfd926887aba_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic2.zhimg.com/v2-1c60e2ea8ae072c29c13bfd926887aba_r.jpg&&&/figure&&p&df 是 disk free 的缩写,它是所有 UNIX 系统预装的程序,用来显示用户有访问权限的文件系统的可用磁盘空间。&/p&&p&&b&38 discus&/b&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-389c8bf55aeed5243bfbbb_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic3.zhimg.com/v2-389c8bf55aeed5243bfbbb_r.jpg&&&/figure&&p&discus 类似于 df,它的目的是通过使用更吸引人的特性,如颜色,图形和数字来对 df 进行改进。&/p&&p&&b&39 xosview&/b&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-eede35fab3cfdf726a314ea_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic3.zhimg.com/v2-eede35fab3cfdf726a314ea_r.jpg&&&/figure&&p&xosview 是一款经典的系统监控工具,它给你提供包括 IRQ 在内的各个不同部分的简单总览。&/p&&p&&b&40 Dstat&/b&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-67fcbc94dbfeedad6dd6c89e_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic4.zhimg.com/v2-67fcbc94dbfeedad6dd6c89e_r.jpg&&&/figure&&p&dstat 旨在替代 vmstat,iostat,netstat 和 ifstat。它可以让你查实时查看所有的系统资源。这些数据可以导出为 CSV。最重要的是 dstat 允许使用插件,因此其可以扩展到更多领域。&/p&&p&&b&41 Net-SNMP&/b&&/p&&p&SNMP 即“简单网络管理协议”,Net-SNMP 工具套件使用该协议可帮助你收集服务器的准确信息。&/p&&p&&b&42 incron&/b&&/p&&p&incron 允许你监控一个目录树,然后对这些变化采取措施。如果你想在目录‘a’中出现新文件时,将其复制到目录‘b’,这正是 incron 能做的。&/p&&p&&b&43 monitorix&/b&&/p&&p&Monitorix 是轻量级的系统监控工具。它可以帮助你监控单独一台机器,并为你提供丰富的指标。它也有一个内置的 HTTP 服务器,来查看图表和所有指标的报告。&/p&&p&&b&44 vmstat&/b&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-5d8c6fd9e8e2ed52c009_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic3.zhimg.com/v2-5d8c6fd9e8e2ed52c009_r.jpg&&&/figure&&p&vmstat(virtual memory statistics)是一个小型内置工具,能监控和显示机器的内存。&/p&&p&&b&45 uptime&/b&&/p&&p&这个小程序能快速显示你机器运行了多久,目前有多少用户登录和系统过去1分钟,5分钟和15分钟的平均负载。&/p&&p&&b&46 mpstat&/b&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-5b0f722c7ad2b16e4102eaf9bc7273b7_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic2.zhimg.com/v2-5b0f722c7ad2b16e4102eaf9bc7273b7_r.jpg&&&/figure&&p&mpstat 是一个内置的工具,能监视 cpu 的使用情况。最常见的使用方法是 mpstat -P ALL,它给你提供 cpu 的使用情况。你也可以间歇性地更新 cpu 的使用情况。&/p&&p&&b&47 pmap&/b&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-f5cb58adbfc4b4a7e3bc_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic4.zhimg.com/v2-f5cb58adbfc4b4a7e3bc_r.jpg&&&/figure&&p&pmap 是一个内置的工具,报告一个进程的内存映射。你可以使用这个命令来找出导致内存瓶颈的原因。&/p&&p&&b&48 ps&/b&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-b4d2aa7dcb12ff77410a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic1.zhimg.com/v2-b4d2aa7dcb12ff77410a_r.jpg&&&/figure&&p&该命令将给你当前所有进程的概述。你可以使用 ps -A 命令查看所有进程。&/p&&p&&b&49 sar&/b&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-8d387ca028ae46c68ea84bd93d1ecd12_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic3.zhimg.com/v2-8d387ca028ae46c68ea84bd93d1ecd12_r.jpg&&&/figure&&p&sar 是 sysstat 包的一部分,可以帮助你收集、报告和保存不同系统的指标。使用不同的参数,它会给你提供 CPU、 内存和 I/O 使用情况及其他东西。&/p&&p&&b&50 collectl&/b&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-fce5c155b1e98af37f3e79df9810aa07_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic2.zhimg.com/v2-fce5c155b1e98af37f3e79df9810aa07_r.jpg&&&/figure&&p&类似于 sar,collectl 收集你机器的性能指标。默认情况下,显示 cpu、网络和磁盘统计数据,但它实际收集了很多信息。与 sar 不同的是,collectl 能够处理比秒更小的单位,它可以被直接送入绘图工具并且 collectl 的监控过程更广泛。&/p&&p&&b&51 iostat&/b&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-dc2de9fd68daac1facc7bb_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic4.zhimg.com/v2-dc2de9fd68daac1facc7bb_r.jpg&&&/figure&&p&iostat 也是 sysstat 包的一部分。此命令用于监控系统的输入/输出。其报告可以用来进行系统调优,以更好地调节你机器上硬盘的输入/输出负载。&/p&&p&&b&52 free&/b&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-261ea740e4365051beb7be11eec0b2db_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic3.zhimg.com/v2-261ea740e4365051beb7be11eec0b2db_r.jpg&&&/figure&&p&这是一个内置的命令,用于显示你机器上可用的内存大小以及已使用的内存大小。它还可以显示某时刻内核所使用的缓冲区大小。&/p&&p&&b&53 /proc 文件系统&/b&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-4cdbb11a9275fcad5b6da5f9c723a9f6_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic1.zhimg.com/v2-4cdbb11a9275fcad5b6da5f9c723a9f6_r.jpg&&&/figure&&p&proc 文件系统可以让你查看内核的统计信息。从这些统计数据可以得到你机器上不同硬件设备的详细信息。看看这个 proc 文件统计的完整列表[42]。&/p&&p&&b&54 GKrellm&/b&&/p&&p&GKrellm 是一个图形应用程序,用来监控你硬件的状态信息,像CPU,内存,硬盘,网络接口以及其他的。它也可以监视并启动你所选择的邮件阅读器。&/p&&p&&b&55 Gnome 系统监控器&/b&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-2adc39f81a4fdcd3238f5ded259a6c15_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic1.zhimg.com/v2-2adc39f81a4fdcd3238f5ded259a6c15_r.jpg&&&/figure&&p&Gnome 系统监控器是一个基本的系统监控工具,其能通过一个树状结构来查看进程的依赖关系,能杀死进程及调整进程优先级,还能以图表形式显示所有服务器的指标。&/p&&h2&日志监控工具&/h2&&p&&b&56 GoAccess&/b&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-f9da466faa4c_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic4.zhimg.com/v2-f9da466faa4c_r.jpg&&&/figure&&p&GoAccess 是一个实时的网络日志分析器,它能分析 apache, nginx 和 amazon cloudfront 的访问日志。它也可以将数据输出成 HTML,JSON 或 CSV 格式。它会给你一个基本的统计信息、访问量、404 页面,访客位置和其他东西。&/p&&p&&b&57 Logwatch&/b&&/p&&p&Logwatch 是一个日志分析系统。它通过分析系统的日志,并为你所指定的部分创建一个分析报告。它每天给你一个报告,以便让你花费更少的时间来分析日志。&/p&&p&&b&58 Swatch&/b&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-bd4ed2c0c7d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic3.zhimg.com/v2-bd4ed2c0c7d_r.jpg&&&/figure&&p&像 Logwatch 一样,Swatch 也监控你的日志,但不是给你一个报告,它会匹配你定义的正则表达式,当匹配到后会通过邮件或控制台通知你。它可用于检测入侵者。&/p&&p&&b&59 MultiTail&/b&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-34bf96adfffabdb3ff16_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic4.zhimg.com/v2-34bf96adfffabdb3ff16_r.jpg&&&/figure&&p&MultiTail 可帮助你在多个窗口之下监控日志文件。你可以将这些日志文件合并到一个窗口。它可以通过正则表达式的帮助,使用不同的颜色来显示日志文件以方便你阅读。&/p&&h2&系统工具&/h2&&p&&b&60 acct or psacct&/b&&/p&&p&acct 也称 psacct(取决于如果你使用 apt-get 还是 yum)可以监控所有用户执行的命令,包括 CPU 时间和内存占用。一旦安装完成后你可以使用命令 sa 来查看统计。&/p&&p&&b&61 whowatch&/b&&/p&&p&类似 acct,这个工具监控系统上所有的用户,并允许你实时查看他们正在执行的命令及运行的进程。它将所有进程以树状结构输出,这样你就可以清楚地看到到底发生了什么。&/p&&p&&b&62 strace&/b&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-69a0c90fa6a2631294bbcdf_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic4.zhimg.com/v2-69a0c90fa6a2631294bbcdf_r.jpg&&&/figure&&p&strace 被用于诊断、调试和监控程序之间的相互调用过程。最常见的做法是用 strace 打印系统调用的程序列表,其可以看出程序是否像预期那样被执行了。&/p&&p&&b&63 DTrace&/b&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-37cebfe4b36_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic3.zhimg.com/v2-37cebfe4b36_r.jpg&&&/figure&&p&DTrace 可以说是 strace 的大哥。它动态地跟踪与检测代码实时运行的指令。它允许你深入分析其性能和诊断故障。但是,它并不简单,关于这个话题有1200本书之多。&/p&&p&&b&64 Webmin&/b&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-fbedeca13bc4488f13ff_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic1.zhimg.com/v2-fbedeca13bc4488f13ff_r.jpg&&&/figure&&p&Webmin 是一个基于 Web 的系统管理工具。它不需要手动编辑 UNIX 配置文件,可以让你远程管理系统。它有一对监控模块用于连接它。&/p&&p&&b&65 Stat &/b&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-54f9fe4e01eb6a15a330_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic2.zhimg.com/v2-54f9fe4e01eb6a15a330_r.jpg&&&/figure&&p&Stat 是一个内置的工具,用于显示文件和文件系统的状态信息。它会显示文件何时被修改、访问或更改。&/p&&p&&b&66 ifconfig&/b&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-c210b281c770bb9aa423f0cc57a03aaf_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic2.zhimg.com/v2-c210b281c770bb9aa423f0cc57a03aaf_r.jpg&&&/figure&&p&ifconfig 是一个内置的工具,用于配置网络接口。大多数网络监控工具背后都使用 ifconfig 将网卡设置成混乱模式来捕获所有的数据包。你可以手动执行 ifconfig eth0 promisc 进入混乱模式,使用 ifconfig eth0 -promisc 返回正常模式。&/p&&p&&b&67 ulimit &/b&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-5daefad87fb7663dafb51_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic3.zhimg.com/v2-5daefad87fb7663dafb51_r.jpg&&&/figure&&p&ulimit 是一个内置的工具,可监控系统资源,并可以限制任何监控资源不得超标。比如做一个 fork 炸弹,如果使用 ulimit 正确配置了将完全不受影响。&/p&&p&&b&68 CPULimit&/b&&/p&&p&CPULimit 是一个小工具,用于监控并限制进程对 CPU 的使用率。其特别可以用于将批处理作业对 CPU 的使用率保持在一定范围。&/p&&p&&b&69 lshw&/b&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-ebf07173fbe97f0dcc164a67c65f2646_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic3.zhimg.com/v2-ebf07173fbe97f0dcc164a67c65f2646_r.jpg&&&/figure&&p&lshw 是一个小的内置工具,能提取关于本机硬件配置的详细信息。它可以输出 CPU 版本和主板配置。&/p&&p&&b&70 w&/b&&/p&&p&w 是一个内置命令,用于显示当前登录用户的信息及他们所运行的进程。&/p&&p&&b&71 lsof&/b&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-2b9abc76b9ee5d65574fe_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic1.zhimg.com/v2-2b9abc76b9ee5d65574fe_r.jpg&&&/figure&&p&lsof 是一个内置的工具,可让你列出所有打开的文件和网络连接。从那里你可以看到文件是由哪个进程打开的,基于进程名可找到其特定的用户,或杀死属于某个用户的所有进程。&/p&&h2&基础架构监控工具&/h2&&p&&b&72 Server Density&/b& &/p&&figure&&img src=&https://pic1.zhimg.com/v2-e6fe0fadcb1_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic1.zhimg.com/v2-e6fe0fadcb1_r.jpg&&&/figure&&p&我们的 服务器监控工具[56] 它有一个 web 界面,使你可以进行报警设置并可以通过图表来查看所有系统的网络指标。你还可以设置监控的网站,无论是否在线。Server Density 允许你设置用户的权限,你可以根据我们的插件或 api 来扩展你的监控。该服务已经支持 Nagios 的插件了。&/p&&p&&b&73 OpenNMS&/b&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-a5226ccb8a6604ebad9ff4_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic3.zhimg.com/v2-a5226ccb8a6604ebad9ff4_r.jpg&&&/figure&&p&OpenNMS 主要有四个功能区:事件管理和通知;发现和配置;服务监控和数据收集。其设计为可被在多种网络环境中定制。&/p&&p&&b&74 SysUsage&/b&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-1b8e05b0d45cf6ee3e3ff0ff391d4992_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic4.zhimg.com/v2-1b8e05b0d45cf6ee3e3ff0ff391d4992_r.jpg&&&/figure&&p&SysUsage 通过 Sar 和其他系统命令持续监控你的系统。一旦达到阈值它也可以进行报警通知。SysUsage 本身也可以收集所有的统计信息并存储在一个地方。它有一个 Web 界面可以让你查看所有的统计数据。&/p&&p&&b&75 brainypdm&/b&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-1f55a441f9dce_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic2.zhimg.com/v2-1f55a441f9dce_r.jpg&&&/figure&&p&brainypdm 是一个数据管理和监控工具,它能收集来自 nagios 或其它常规来源的数据并以图表显示。它是跨平台的,其基于 Web 并可自定义图形。&/p&&p&&b&76 PCP&/b&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-c8edbade8c_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic3.zhimg.com/v2-c8edbade8c_r.jpg&&&/figure&&p&PCP 可以收集来自多个主机的指标,并且效率很高。它也有一个插件框架,所以你可以让它收集对你很重要的指标。你可以通过任何一个 Web 界面或 GUI 访问图形数据。它比较适合大型监控系统。&/p&&p&&b&77 KDE 系统守护&/b&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-563d537f96b707bde9df3f9b5a0c1bda_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic1.zhimg.com/v2-563d537f96b707bde9df3f9b5a0c1bda_r.jpg&&&/figure&&p&这个工具既是一个系统监控器也是一个任务管理器。你可以通过工作表来查看多台机器的服务指标,如果需要杀死一个进程或者你需要启动一个进程,它可以在 KDE 系统守护中来完成。&/p&&p&&b&78 Munin &/b&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-f7c97bd257_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic4.zhimg.com/v2-f7c97bd257_r.jpg&&&/figure&&p&Munin 既是一个网络也是系统监控工具,当一个指标超出给定的阈值时它会提供报警机制。它运用 RRDtool 创建图表,并且它也有 Web 界面来显示这些图表。它更强调的是即插即用的功能并且有许多可用的插件。&/p&&p&&b&79 Nagios&/b&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-36bd655c643a6f1fb6b1c460f9043dc3_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic4.zhimg.com/v2-36bd655c643a6f1fb6b1c460f9043dc3_r.jpg&&&/figure&&p&Nagios 是系统和网络监控工具,可帮助你监控多台服务器。当发生错误时它也有报警功能。它的平台也有很多的插件。&/p&&p&&b&80 Zenoss&/b&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-929d99dcc2c3855dfc8b83a6fb644c2c_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic1.zhimg.com/v2-929d99dcc2c3855dfc8b83a6fb644c2c_r.jpg&&&/figure&&p&Zenoss 提供了一个 Web 界面,使你可以监控所有的系统及网络指标。此外,它能自动发现网络资源和修改网络配置。并且会提醒你采取行动,它也支持 Nagios 的插件。&/p&&p&&b&81&/b& &b&Cacti &/b&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-b3ba05bd8bc3b3c7cb7a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic4.zhimg.com/v2-b3ba05bd8bc3b3c7cb7a_r.jpg&&&/figure&&p&(和上一个一样!) Cacti 是一个网络图形解决方案,其使用 RRDtool 进行数据存储。它允许用户在预定的时间间隔进行投票服务并将结果以图形显示。Cacti 可以通过 shell 脚本扩展来监控你所选择的来源。&/p&&p&&b&82 Zabbix&/b&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-dc93ae0e6950d28fccad985_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&640& data-rawheight=&280& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic2.zhimg.com/v2-dc93ae0e6950d28fccad985_r.jpg&&&/figure&&p&Zabbix 是一个开源的基础设施监控解决方案。它使用了许多数据库来存放监控统计信息。其核心是用 C 语言编写,并在前端中使用 PHP。如果你不喜欢安装代理端,Zabbix 可能是一个最

我要回帖

更多关于 小莫技能优先级 的文章

 

随机推荐