java不支持发行版本12_主要发行版本后Java开发人员应使用的15种工具

java不支持发行版本12

新部署的生存工具包:适用于Java开发人员的工具,这些工具经常将代码部署到生产中!

Takipi会检测生产中的所有错误,并像发生错误时一样显示变量值
立即部署并获得免费的T恤
takipi-blog_tshirt



新部署的终极生存套件

与在僵尸末日场景中玩弄,用砍刀和the弹枪争论不一样,Java生产环境中的麻烦是很现实的,尤其是在新部署之后(但也准备好接受僵尸是一件好事)。 如果将新代码的发布周期缩短到几周,有时甚至是几天甚至几天,那么今天,陷入困境比以往任何时候都容易得多。 为了避免被僵尸撞倒,这里是生存套件的设置,您需要充分了解新代码对系统的影响。 有什么事吗 它会减慢您的速度吗? 以及如何解决? 这是一劳永逸地破解它的工具集和体系结构。

弗雷德·奥普斯

记录中

除了缩短发布周期外,现代开发生命周期的另一个特性是不断扩展日志文件,每天可以达到GB。 假设新部署后出现了一些问题:如果您想及时做出响应,那么在没有适当工具的情况下,处理来自多个源和计算机的非结构化数据的GB几乎是不可能的。 在这个空间中,我们可以将工具本质上划分为重型企业本地Splunk及其SaaS竞争对手,例如Sumo Logic,Loggly等。 类似的产品有很多选择,因此我们编写了更深入的日志管理分析,您可以在此处阅读。

要点1:设置合理的日志管理策略,以帮助您查看裸日志文件之外的内容,并在新部署后快速做出React。

开源ELK堆栈是我们发现的一种在部署新代码后非常有用的日志记录体系结构。 值得一提的是它是开源和免费的。

ELK堆栈:ElasticSearch,Logstash和Kibana

ELK堆栈:ElasticSearch,Logstash和Kibana

那么我们在说什么ELK? Elasticsearch的搜索和分析功能的组合,Logstash作为日志聚合器,Kibana用于精美的仪表板可视化。 我们使用它已经有一段时间了,它通过日志和Redis从Java提供它,开发人员和BI都在使用它。 如今,elasticsearch几乎是Logstash内置的,而Kibana也是elasticsearch的产品,使集成和设置变得容易。

当新的部署推出时,仪表板将遵循我们针对应用程序运行状况而设置的自定义指标。 这些指标实时更新,可以在新交付的代码上载到生产环境后的第一步时进行密切监视。

要点2:搜索,可视化以及从多个来源汇总日志的简便性是确定日志管理策略的关键因素。

要点3:从开发人员的角度来看,评估新部署的影响还可以包括BI方面。

检查工具:

  1. 本地: Splunk
  2. SaaS: Sumo Logic
  3. SaaS: Loggly
  4. 开源: Graylog2
  5. 开源: Fluentd
  6. ELK堆栈 (开源): Elasticsearch + Logstash + Kibana
  7. 性能监控

    因此,发布周期缩短了,日志文件也变得越来越大,但这还不是全部:用户请求的数量呈指数增长,并且他们都期望达到最佳性能。 除非您努力优化它,否则简单的日志记录只会带您到此为止。 话虽如此,专用的应用程序性能管理工具已不再被视为一种奢侈,而是Swift成为一种标准。 本质上,APM意味着定时执行代码中的不同区域并完成事务所需的时间-这可以通过检测代码,监视日志或包括网络/硬件指标来实现。 无论是在后端还是在用户的设备上。 我想到的头两个现代APM工具是最近刚进行首次公开​​募股的New Relic和AppDynamics。

    左侧为AppDynamics,右侧为New Relic –主仪表板屏幕

    左侧为AppDynamics,右侧为New Relic –主仪表板屏幕

    传统上,每个企业都针对不同类型的开发人员,从企业到初创企业。 但是,随着两家公司都向着自己的IPO迈进,并且在经历了巨大的增长之后,两者之间的界限越来越模糊。 选择不明确,但您不会出错–前提是= AppDynamics,否则,这是一个单独的调用,具体取决于哪个更适合您的堆栈(以及它们提供的所有功能中的哪些是您实际上想使用的功能) )。 看看这两个头部比较头,我们最近发布的分析就在这里 。

    最近发布的另外两个有趣的工具是Ruxit(由Compuware公司提供)和DripStat(由Chronon Systems公司提供),每种工具均来自大型公司,他们试图解决由New Relic率先开发的SaaS监控市场。 考虑到核心JVM内部组件,jClarity和Plumbr也绝对值得一试。

    要点4:新部署可能会影响您应用程序的性能并降低其性能,APM工具可以提供有关应用程序运行状况的全面概述。

    检查工具:

  8. AppDynamics
  9. 新遗物
  10. 新玩家:

  11. j清晰度
  12. 铅锤
  13. 鲁克西特
  14. 滴灌
  15. 生产调试

    发布周期缩短,日志文件变大,用户请求爆炸,并且……错误的余地根本不存在。 当出现错误时–您需要立即解决它。 大规模生产环境每天可能在代码中的数百个不同位置产生数百万个错误。 尽管有些错误可能是微不足道的,但有些错误会破坏关键的应用程序功能并在您不知情的情况下影响最终用户。 传统上,要识别和解决这些错误,您甚至必须依靠日志文件或日志管理工具来知道发生了错误,更不用说如何解决了。

    使用Takipi,您可以知道哪些错误构成最高风险,应该对其进行优先级排序,并获得有关如何解决每个错误的可行信息。

    记录1

    考虑到新部署后出现的错误,Takipi解决了3个主要问题:

    1. 知道哪些错误对您的影响最大 –在生产中检测100%的代码错误,包括JVM异常和日志错误。 使用智能过滤可消除噪声并关注最重要的错误。 超过90%的Takipi用户报告在使用的第一天就发现了至少一个关键错误。
    2. 花费更少的时间和精力进行调试 – Takipi自动重现每个错误并显示导致错误的代码和变量,即使在服务器之间也是如此。 这样就无需手动重现错误,节省了工程时间,并大大减少了解决问题的时间。
    3. 毫无风险地进行部署 –当新版本引入了错误,并且固定错误再次困扰您时,Takipi会通知您。

    要点5:使用Takipi,您可以Swift采取行动解决任何问题,而在新版本发布后,您将不再处于黑暗之中。

    检查工具:

  16. 塔基皮
  17. 警报和跟踪

    发布周期,日志文件,用户请求,没有错误余地,以及……您将如何跟进所有这些? 您可能会认为此类别与其他类别重叠,事实是您可能是对的,但是当所有这些工具都有自己的管道来让您知道发生了什么时,它就会变得很混乱。 尤其是在新部署后的软弱环境中,很容易发生各种意外的事件(这是更柔和的说法…… 所有地狱都破灭了)。

    解决这一问题的领先事件管理工具之一是PagerDuty:从您的监视工具收集警报,创建时间表以协调您的团队,并通过文本,电子邮件,短信或推送通知将每个警报发送给合适的人。

    要点六:考虑使用事件管理系统来处理信息过载。

    我们在这里真正喜欢使用的一种专用工具是Pingdom(它也与Pagerduty集成了)。 它的作用非常简单并且可以正常工作:24/7跟踪和提醒我们网站的响应时间。 回答一个看似微不足道的关键问题:网站可用吗? 从全球各地进行探测。

    所有系统都去了!

    所有系统都去了!

    解决信息过载的另一个角度是错误跟踪,它超出了日志分析器的功能:智能仪表板可管理异常和日志错误。 通过日志事件或其他来自代码的插件,将所有服务器和计算机中的数据聚合到一个位置。 要深入了解错误跟踪工具的情况, 请查看这篇涵盖最流行选项的文章。

    要点7:代码错误的形式和大小各有不同,值得使用错误跟踪工具对它们进行一些特殊处理(并修复一些错误,穆哈哈)。

    检查工具:

  18. PagerDuty
  19. 平度

结论

我们亲身体验了现代软件开发如何影响发行版生命周期,并深入了解了如何评估新快速部署的影响-在甚至完全了解上次更新的影响之前就可以引入新代码的时间。 在总体方案中,您考虑使用的任何工具都应满足以下5个特征:

  1. 收缩释放周期
  2. 扩展日志文件
  3. 越来越多的用户请求
  4. 误差较小
  5. 信息超载

最重要的是,请考虑一下您今天如何处理这些问题,这会占用您太多时间。 很有可能有解决该问题的工具。

Takipi会检测生产中的所有错误,并像发生错误时一样显示变量值
立即部署并获得免费的T恤
takipi-blog_tshirt



翻译自: https://www.javacodegeeks.com/2014/12/15-tools-java-developers-should-use-after-a-major-release.html

java不支持发行版本12

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/338747.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php get raw,file_get_contents(“php:// input”)或$ HTTP_RAW_POST

慕用2447696file_get_contents(php:// input) - 获取原始POST数据,你需要在编写API时使用它,并且需要XML / JSON / ...输入,这些输入无法通过PHP解码为$ _POST 一些例子:通过邮寄JSON字符串发送function fn(){var js_o…

绑定dictionary 给定关键字不再字典中_对字典嵌套的理解及二级下拉菜单的制作...

大家好,今日我们继续讲解VBA数组与字典解决方案,今日讲解第51讲:对字典嵌套的理解及二级下拉菜单的制作.在讲字典的时候,我反复说明,字典看视非常简单,由于它具有直达性可以省略去我们大量的循环查找代码,所以使用起来要特别留意很多用法和常…

C语言小笔记

C99标准下可以指定结构体的成员初始化。typedef struct{int a;int b; } Test;Test test {.a 10, .b 15};C99标准下可以指定数组下标初始化。int a[5] { [2] 5, 6, [4] 7 };方便的数据打印。打印一个整型值数据:int count 10; printf("count %d\n"…

lua中keyvalue_40行中的持久性KeyValue Server和一个可悲的事实

lua中keyvalue再次出现。..彼得斯撰写了有关Unsafe用法的书面概述 ,我将简要介绍一下Java中的低级技术如何通过启用更高级别的抽象或允许Java性能级别来节省开发工作可能很多人都不知道。 我的主要观点是表明,将对象转换为字节,反之亦然是一…

C++基础教程示例详解:C++中的I/O重定向

在C语言中,我们可以使用函数freopen()将现有文件指针重定向到另一个流。freopen()的原型如下FILE * freopen ( const char * filename, const char * mode, FILE * stream );例如,要将stdout重定向为文本文件,我们可以编写freopen ("tex…

租房界的php,php实现出租房数据管理及搜索页面

这篇文章主要为大家详细介绍了php出租房数据管理及搜索页面的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下php数据访问例子:租房信息管理,具体内容如下1.数据库建表2. zufangzi.php租房子区域:全选requi…

ln函数怎么看奇偶性_Python中函数的参数应该怎么理解?看完这篇文章情不自禁的想收藏...

前面给大家讲过,函数是一种编程思想,是提高代码重复利用的设计思路,是代码设计更深层次的产物。今天要给大家讲的就是函数的核心:函数的参数基本概念1、函数的参数:是指函数完成某项功能所需要的信息。举个例子&#x…

面向对象设计思想-C语言

面向对象的三个特征:封装,继承,多态。但是C语言不是面向对象编程语言,所以需要借助一些技巧来实现这三个特征:(1)C语言没有成员函数,struct只能封装数据,不能封装方法&am…

three.js加载3d模型_基于WebGL的3D技术在网页中的运用 ThingJS 前端开发

Three.js、ThingJS这些引擎库可以加载3D制作软件的模型&#xff0c;大幅度提高了制作效率&#xff0c;改变WebGL开发困难的局面&#xff0c;让Web开发者享受便捷的3D开发服务。三者的难度对比如下&#xff1a;ThingJS&#xff08;框架&#xff09;< Three.js&#xff08;引擎…

C语言 | typedef

C语言typedef用新的类型名代替原有的类型名//指定用Integer为类型名&#xff0c;作用与int相同。 typedef int Integer&#xff1b;//指定用Real为类型名&#xff0c;作用与float相同。 typedef float Real&#xff1b;C语言允许程序设计者用一个简单的名字代替复杂的类型形式命…

php珠心算源码,深度解析珠心算的“开智”功能

编者按&#xff1a;本文来自李绵军校长在廊坊智慧特训营演讲。李绵军校长通过十几年来对珠心算的钻研练习&#xff0c;详细解读了珠心算的开智功能&#xff0c;以及“一门深入”的作用。珠心算的开智价值是在哪里&#xff1f;大家都说开发智力&#xff0c;我在这讲开发智力不是…

C语言 函数

定义函数在 C 语言中&#xff0c;函数由一个函数头和一个函数主体组成。下面列出一个函数的所有组成部分&#xff1a;返回类型&#xff1a;一个函数可以返回一个值。return_type 是函数返回的值的数据类型。有些函数执行所需的操作而不返回值&#xff0c;在这种情况下&#xff…

自适应 幻灯片代码 app_字节跳动 To B 再添一员,将推出飞书文档独立App | 36氪独家...

不只是功能点的延伸&#xff0c;以 C 端打 B 端&#xff0c;是字节跳动推出“飞书文档”的另一体现。文&#xff5c;苏建勋头图来源| IC photo据36氪获悉&#xff0c;字节跳动旗下移动办公软件“飞书”将于近期推出独立 App “飞书文档”。这是继2月底&#xff0c;字节跳动推出…

听说高手都用记事本写C语言代码?

坊间传闻高手都喜欢用记事本写代码&#xff0c;那么问题来了&#xff0c;我们以C语言为例&#xff0c;如何用记事本编译运行呢&#xff1f;其实最简单的方式就是安装GCC编译器&#xff0c;在记事本编写C语言程序&#xff0c;然后再在命令行用GCC编译运行&#xff0c;下面我简单…

jface_使用JFace Viewer延迟获取模型元素

jfaceEclipse JFace Viewers显示的模型元素有时需要花费大量时间来加载。 因此&#xff0c; 工作台提供了IDeferredWorkbenchAdapter类型以在后台获取此类模型元素。 不幸的是&#xff0c;似乎仅通过DeferredTreeContentManager派生的AbstractTreeViewer支持此机制。 因此&…

C语言边角料:结构体中指针类型的成员变量,它的类型重要吗?

一、前言昨天在编译代码的时候&#xff0c;之前一直OK的一个地方&#xff0c;却突然出现了好几个 Warning!本着强迫症要消灭一切警告的做法&#xff0c;最终定位到&#xff1a;是结构体内部&#xff0c; 指向结构体类型的指针成员变量导致的问题。这个问题&#xff0c;也许永远…

C语言:--位域和内存对齐

位域位域是指信息在保存时&#xff0c;并不需要占用一个完整的字节&#xff0c;而只需要占几个或一个二进制位。为了节省空间&#xff0c;C语言提供了一种数据结构&#xff0c;叫“位域”或“位段”。“位域“是把一个字节中的二进位划分为几个不同的区域&#xff0c;并说明每个…

C语言实现数据字节序交换的四种方式

1关于数据字节序的说明1&#xff09;关于字节序的说明字节序有两种大端和小端。大端&#xff1a;数据高位存放在低地址&#xff0c;地位放在高地址。如0x12345678在内存中存放为地址从左到右为低到高12345678。 小端&#xff1a;数据地位存放在低地址&#xff0c;高位存放在高地…

C语言如何实现动态数组?

提出问题请问在c语言里如何实现动态大小的数组啊&#xff0c;比如说int a[N];&#xff0c;这里N的值可以在程序中定&#xff0c;或者有什么方法可以实现类似的功能&#xff1f;总之只要在编译时不用制定数组大小就行。分析问题嵌入式系统的内存是宝贵的&#xff0c;内存是否高效…

Oracle为什么装在XP系统,重装xp系统后oracle恢复方法

重装系统后oracle如何恢复呢?下面就给大家介绍一下重装系统后oracle的恢复方法1、我们安装数据库软件只需安装同版本的数据库软件&#xff0c;不需要创建数据库。最好安装在和原来数据库同样的%ORACLE_HOME%下&#xff0c;省得还要修改参数文件路径等。(直接覆盖原来的oracle即…