首页 文章 精选 留言 我的

精选列表

搜索[SpringBoot4],共10000篇文章
优秀的个人博客,低调大师

推荐4款 Docker 认证的实用免费插件,帮助您轻松管理容器日志!​

出品丨Docker公司(ID:docker-cn)编译丨小东每周一、三、五晚6点10分 与您不见不散! Docker 认证技术项目(Docker Certified Technology Program)是为了帮助合作伙伴和客户识别出在质量、协作支持以及合规性等方面表现出色的容器和插件。Docker 认证项目通过 Docker 以及发行商的支持为组织提供了一种在 Docker Enterprise 容器平台上运行可信任软件和组件的简便方法。 在这篇文章中,我们将着眼于 Docker 的日志容器和插件。Docker Enterprise 提供内置的日志记录驱动程序来帮助用户从 Docker 节点、运行的容器和服务中获取信息。Docker 引擎还公开了用于 Docker 日志插件的 API,供合作伙伴制定日志解决方案。用户的需求通过广泛的 Docker 生态系统的创新得以满足,该生态系统扩展了 Docker 的日志记录功能,提供完整的日志管理解决方案,包括搜索、可视化、监控和警报。这些解决方案经过 Docker 以及合作伙伴公司的验证,并集成到一个无缝的支持管道中,为客户提供全方位的支持。 下面我将为大家推荐四款由我们的合作伙伴在 Docker 商店中提供的经过最新认证的 Docker 日志容器和插件: Elastic – Elasticsearch Logging container (https://store.docker.com/images/elasticsearch) Sematext – Sematext Agent Monitoring and Logging container (https://store.docker.com/images/sematext-agent-monitoring-and-logging) Splunk – Splunk Enterprise (https://store.docker.com/community/images/splunk/splunk) Sumo Logic – Sumo Logic Logging Plugin (https://store.docker.com/plugins/sumologic-logging-plugin)

优秀的个人博客,低调大师

Gartner新报告: IaaS营收增长迅速 云计算市场2020年达4千亿

近日知名市场研究公司Gartner于本月发布了最新的云计算市场分析报告,这份报告对全球云计算市场数据进行统计分析,并预测了未来3年云计算市场规模及前十大云服务提供商的市场营收份额情况。 Gartner的这份报告首先预测到,在2020年时全球云计算市场规模将达到4110亿美元。此外,这份报告还对近两年云计算市场营收进行了分析: 2016年全球SaaS营收超过了Gartner此前预测的482亿美元,预计到今年年底,SaaS营收将增长21%,达到586亿美元;2017年IaaS营收预计将增长36.6%,达到347亿美元,这样的增长速度成为云服务中增长最快的领域;2017年,全球公共云服务市场预计营收增长18.5%,达2620亿美元。 Gartner本月初的一份全球公共云服务收入预测报告显示,IaaS目前的年复合增长率为23.31%,到2020年将超过整体市场13.38%的增长率。预计到2020年时,SaaS营收将由586亿美元增长至997亿美元,在2016—2020年预测期内,SaaS年复合增长率将达到15.65%。 在2016—2020年云服务类别营收上,基础设施、应用程序、中间件、业务流程服务支出向云服务转移,推动了云服务的普及和年复合率的增长。Gartner预测,到2021年时,云基础设施、中间件、应用程序、及业务流程服务将占据总IT支出的28%。 在这份报告中,Gartner还预测到2021年时,全球前十大云服务商将占据70%的公共云服务营收。像亚马逊、微软、阿里巴巴等企业在IaaS领域占有市场;在SaaS到PaaS层领域,甲骨文、SAP、微软等供应商则倾向于提供云订阅模式的云服务。大多数企业用户也认为PaaS会成为安全、可扩展的应用开发平台。 本文出处:畅享网 本文来自云栖社区合作伙伴畅享网,了解相关信息可以关注vsharing.com网站。

优秀的个人博客,低调大师

Java日志上云三剑客:Log4J/LogBack/Producer Lib

日志中心化之路 近几年来,无状态编程、容器、Serverless 编程方式的诞生极大提升了软件交付与部署的效率。在架构的演化过程中,可以看到两个变化: 应用架构开始从单体系统逐步转变微服务,其中的业务逻辑随之而来就会变成微服务之间调用与请求。 资源角度来看,传统服务器这个物理单位也逐渐淡化,变成了看不见摸不到的虚拟资源模式。 从以上两个变化可以看到这种弹性、标准化架构背后,原先运维与诊断的需求也变得越来越复杂。在10年前我们可以快速登陆到服务器上捞取日志,Attach进程的模式已再也不存在,面对我们的更多是一个标准化的“黑盒”。 ​ 为了应对这种变化趋势,诞生一系列面向DevOps诊断与分析的工具。例如集中式监控、集中式日志系统、以及SaaS化的各种部署、监控等服务。 ​ 日志中心化解决的是以上这个问题,既应用产生日志后实时(或准实时)传

优秀的个人博客,低调大师

Hadoop HDFS概念学习系列之初步掌握HDFS的架构及原理4(四)

HDFS 副本存放策略 namenode 如何选择在哪个 datanode 存储副本(replication)?这里需要对可靠性、写入带宽和读取带宽进行权衡。Hadoop 对 datanode 存储副本有自己的副本策略,在其发展过程中一共有两个版本的副本策略,分别如下所示。 Hadoop 0.17之前的副本策略 第一个副本:存储在同机架的不同节点上。 第二个副本:存储在同机架的另外一个节点上。 第三个副本:存储在不同机架的另外一个节点。 其它副本:选择随机存储。 Hadoop 0.17 之后的副本策略 第一个副本:存储在同 Client 相同节点上。 第二个副本:存储在不同机架的节点上。 第三个副本:存储在第二个副本机架中的另外一个节点上。 其它副本:选择随机存储。 注意: 比如,一个10M的数据文件,进来被切分很多个Block,每个Block都有3个副本。 本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/5080357.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

Android系统默认Home应用程序(Launcher)的启动过程源代码分析(4

Step 17.LoaderTask.loadAndBindAllApps 这个函数定义在packages/apps/Launcher2/src/com/android/launcher2/LauncherModel.java文件中: [java] view plain copy publicclassLauncherModelextendsBroadcastReceiver{ ...... privateclassLoaderTaskimplementsRunnable{ ...... privatevoidloadAndBindAllApps(){ ...... if(!mAllAppsLoaded){ loadAllAppsByBatch(); if(mStopped){ return; } mAllAppsLoaded=true; }else{ onlyBindAllApps(); } } ...... } ...... } 由于还没有加载过应用程序,这里的mAllAppsLoaded为false,于是就继续调用loadAllAppsByBatch函数来进一步操作了。 Step 18.LoaderTask.loadAllAppsByBatch 这个函数定义在packages/apps/Launcher2/src/com/android/launcher2/LauncherModel.java文件中: [java] view plain copy publicclassLauncherModelextendsBroadcastReceiver{ ...... privateclassLoaderTaskimplementsRunnable{ ...... privatevoidloadAllAppsByBatch(){ ...... finalIntentmainIntent=newIntent(Intent.ACTION_MAIN,null); mainIntent.addCategory(Intent.CATEGORY_LAUNCHER); finalPackageManagerpackageManager=mContext.getPackageManager(); List<ResolveInfo>apps=null; intN=Integer.MAX_VALUE; intstartIndex; inti=0; intbatchSize=-1; while(i<N&&!mStopped){ if(i==0){ mAllAppsList.clear(); ...... apps=packageManager.queryIntentActivities(mainIntent,0); ...... N=apps.size(); ...... if(mBatchSize==0){ batchSize=N; }else{ batchSize=mBatchSize; } ...... Collections.sort(apps, newResolveInfo.DisplayNameComparator(packageManager)); } startIndex=i; for(intj=0;i<N&&j<batchSize;j++){ //Thisbuildstheiconbitmaps. mAllAppsList.add(newApplicationInfo(apps.get(i),mIconCache)); i++; } finalbooleanfirst=i<=batchSize; finalCallbackscallbacks=tryGetCallbacks(oldCallbacks); finalArrayList<ApplicationInfo>added=mAllAppsList.added; mAllAppsList.added=newArrayList<ApplicationInfo>(); mHandler.post(newRunnable(){ publicvoidrun(){ finallongt=SystemClock.uptimeMillis(); if(callbacks!=null){ if(first){ callbacks.bindAllApplications(added); }else{ callbacks.bindAppsAdded(added); } ...... }else{ ...... } } }); ...... } ...... } ...... } ...... } 函数首先构造一个CATEGORY_LAUNCHER类型的Intent: [java] view plain copy finalIntentmainIntent=newIntent(Intent.ACTION_MAIN,null); mainIntent.addCategory(Intent.CATEGORY_LAUNCHER); 接着从mContext变量中获得PackageManagerService的接口: [java] view plain copy finalPackageManagerpackageManager=mContext.getPackageManager(); 下一步就是通过这个PackageManagerService.queryIntentActivities接口来取回所有Action类型为Intent.ACTION_MAIN,并且Category类型为Intent.CATEGORY_LAUNCHER的Activity了。 我们先进入到PackageManagerService.queryIntentActivities函数中看看是如何获得这些Activity的,然后再回到这个函数中来看其余操作。 本文转自 Luoshengyang 51CTO博客,原文链接:http://blog.51cto.com/shyluo/966530,如需转载请自行联系原作者

优秀的个人博客,低调大师

6月第4周安全回顾 Firefox3存在严重漏洞 警惕Storm蠕虫

本文同时发布在: [url]http://netsecurity.51cto.com/art/200806/78036.htm[/url] 本周(080616至080622)信息安全威胁等级为低。 推荐阅读: 1)技术内幕:如何在有限的预算内找出需要保护的敏感数据;推荐指数:高 目前企业都意识到数据泄漏是严重影响企业业务和声誉的重大安全事故,许多安全厂商也纷纷推出了自己的数据泄漏防御产品,预算有限的企业如何才能在纷繁复杂的产品中选择成为新的话题,本文介绍了如何使用最简单和廉价的几种工具和方法识别企业中最迫切需要保护的敏感数据,以为进一步的部署敏感信息保护措施做准备。 2)欧洲反网络诈骗社区拓展美国市场;推荐指数:高 在网络诈骗及网络犯罪日趋猖獗的今天,及时的交换网络诈骗的最新情况对企业的防御至关重要,目前信息安全较为发达的国家和地区大都成立由相关的网络犯罪防御组织,但国内的企业和安全厂商的基础仍较为薄弱,亟待加强。 要闻回顾: 媒体方面,本周值得关注的新闻集中在浏览安全、反垃圾邮件领域。 浏览安全:Firefox 3发布即有百万下载,安全人员发现Firefox 3中存在严重漏洞;关注指数:高 新闻1:6月17日,来自Securityfocus.com的消息,广受关注的开源浏览器Firefox当天发布了其最新的3.0版本,该版本在Firefox 2.x版本的基础上提升了性能,并降低了系统资源的消耗。此外,针对目前网站已经成为攻击者用于传播恶意软件及进行其他攻击的最常用渠道的现状,开发者还在Firefox 3中加入了恶意网站过滤功能。Mozilla公司统计,在Firefox 3发布之后的很短时间内,已经记录到大概每分钟14000万用户及13Gbit/S的下载量,也即在一天内将会有超过百万的下载量。 新闻2:6月19日,来自Securityfocus.com的消息,在Firefox 3发布不到24小时的短暂时间内,至少有3个安全研究人员通过不同的渠道公开Firefox 3存在的严重安全漏洞。目前最可致信的版本是由3Com公司下属的Tripping Point公司所提出,漏洞的发现者称,该漏洞能够让Firefox 3在用户的系统上执行命令,但该漏洞需要用户的交互,如让用户点击一个网站或电子邮件连接。目前Mozilla公司正在调查该漏洞的情况,双方都没有公开该漏洞的进一步信息,Mozilla网站上也没更新过的Firefox 3版本。 分析:Firefox 3并不是最早推出的下一代浏览器,在它推出前的稍早一点时候,另外一个市场占有率较高的浏览器Rival Opera也推出最新的9.5版本。如同笔者在之前的回顾里曾经提到的,由于2007年网站已经取代电子邮件成为恶意软件最为流行的传播途径,和网络钓鱼等网络犯罪日渐猖獗,浏览器厂商都不约而同的将反恶意网站作为下一代浏览器的标准功能之一,占据市场主流地位的IE 8、Firefox 3和Opera 9.5无一不如此。从技术实现的角度来看,下一代浏览器的恶意网站防御功能大都是通过用户更新式恶意网站数据库、拦截可执行文件下载和执行以及第三方插件权限控制等现有技术来实现,尽管它们比现有浏览器软件的安全程度更高,但浏览器本身的安全性以及对漏洞的响应速度就显得更为重要,而后者恰恰是Firefox和Opera的厂商逊于Microsoft的方面。此外,Firefox发布首日的百万下载,相对于Windows系统的占有率来说,还只是一个并不算大的数字,第三方浏览器与Microsoft IE的兼容性,也是制约它们进一步占领市场的弱点。 笔者观点:对于将安全放在第一位的企业应用环境,以及厌倦IE脆弱的安全性的个人用户来说,较好的安全性和丰富的扩展能力使得Firefox 3可以成为他们的首选,不会中毒的浏览器-Opera也值得尝试。建议一般用户可以同时安装一个第三方的浏览器,同时保留IE,在平时使用时用第三方的浏览器,只有在访问可信网站或需要ActiveX控件的场合(如网上银行或在线交易),才使用IE作为浏览器,并及时更新各浏览器产品的安全补丁,这样才能更好的平衡网站浏览的安全和方便。 反垃圾邮件:警惕利用奥运名义传播的Storm蠕虫;关注指数:高 新闻:6月20日,来自ITnews的消息,反病毒厂商Symantec警告称,前一段时间活动沉寂的Storm蠕虫再度活跃。从各安全厂商捕获的蠕虫样本来看,新的Storm蠕虫使用了伪造的北京奥运会消息作为传播的战略,其发送的电子邮件中声称北京奥运会将因为四川地震的损失而导致延迟或取消,并附带了一个伪装成视频文件的链接。如果用户不小心点击了这个链接,将会下载一个包含有恶意软件、名为beijing.exe的可执行文件。 笔者观点:可以预见,随着北京奥运的日益临近,利用奥运相关信息作为幌子进行的垃圾邮件攻击将会显著的增加。目前Storm蠕虫新变种只能算是给所有的互联网用户提前打了声招呼,其他影响面稍小的蠕虫也将会很快更新到发送奥运相关信息的变种,并会根据奥运会的临近、进行和结束的不同阶段,采取不同的电子邮件内容和攻击负荷,甚至会根据用户区域、文化和语言的不同,采取更为细致的攻击策略。建议用户在收到这类邮件的时候,直接删除,不要打开或点击其内含的任何连接,防止感染恶意软件或遭受网络钓鱼攻击,对企业用户来说,及时升级自己的反垃圾网关及反病毒产品也对这种类型的攻击有不错的防御效果。 本文转自J0ker51CTO博客,原文链接:http://blog.51cto.com/J0ker/83817,如需转载请自行联系原作者

优秀的个人博客,低调大师

如何规划构建一套大型的Citrix桌面虚拟化架构 - Part4

前序的Part1~3我们介绍了如何规划每一个部分的架构,那么对于整体上来说,一个标准的桌面虚拟化环境,其逻辑上的架构又是怎样的呢? 从整体角度来说,一套桌面虚拟化体系会分为两大部分: 接入端 控制、承载单元 那么什么叫接入单元,其实就是以NetScaler为代表的负载均衡和StoreFront/Web Interface为代表的资源罗列的用户入口。 注:这里我们并不讨论NetScaler作为ICA proxy来工作。 而对于控制、承载单元,那就是涵盖了前序文章中介绍的所有组件包括:ADDC,SQL,DDC,Lic在内容的控制单元,以及承载所有桌面的承载单元。 这样的一个组合,我们称之为Service Block。 注:在部署上,StoreFront/Web Interface是与其他组件部署在一起,但是在逻辑上他们是相对分开的两部分。 所以,在本例中,我们就将3000个桌面及所有的相关组件都放在了同一个Service Block中。 而事实上这个项目的规模在7000点,由于我们前序说明过,一个Service Block我们推荐支撑5000个桌面。那么按照这个逻辑,需要完全按照相同的架构,包括服务器、存储、汇聚层网络,完全的拷贝一份。然后再通过StoreFront/Web Interface将两边的资源加入分别加入到各自的资源池中,同时通过负载均衡设备,对包括StoreFront、PVS等核心组件进行负载均衡。 所以从逻辑上,他应该是这样的一种架构,各块组件、承载、支撑、服务都是相互独立,又通过接入层实现有机的连接。 而在用户层面就是1个Service Block 支撑3000用户,第二个Service Block支撑4000用户。 那么如果需要进一步扩大,那么就是横向的继续堆叠一个个的Service Block实现整个环境的扩展。 至此,一个完整的环境及各个组件架构就完成了设计和交付。 本文转自sesame.qian 51CTO博客,原文链接:http://blog.51cto.com/kaiqian/1717064,如需转载请自行联系原作者

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册