2015年最佳PHP框架:SitePoint调查结果

2023-11-20 21:31

本文主要是介绍2015年最佳PHP框架:SitePoint调查结果,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

One month ago, we started the annual SitePoint framework popularity survey. Now that the month has expired, it’s time to look at the results and to distribute the prizes. The response was a whopping ~7800 entries, far more than any other survey we’ve held so far, and even after filtering out invalid entries we end up with a formidable number of valid participants.

一个月前, 我们开始了年度SitePoint框架受欢迎程度调查。 现在该月已经到期,是时候查看结果并分发奖品了。 反馈的结果是多达7800个条目,远远超过了我们迄今为止进行的其他任何调查,即使在过滤掉无效条目之后,我们最终还是得到了大量有效参与者。

First things first, as promised, here is the entire result set for your perusal and use: download. Do with it as you please. If you come up with some interesting graphs, please do share them with us! Read the “Data” paragraph below for some more details on the downloadable files.

首先,如您所愿,这是供您细读和使用的整个结果集: 下载 。 随心所欲地处理它。 如果您想出一些有趣的图表,请与我们分享! 阅读下面的“数据”段落,以获取有关可下载文件的更多详细信息。

框架优胜者 (Framework Winner)

To view the full screen versions of all plots below, just click on them. They open in new tabs.

要查看下面所有图的全屏版本,只需单击它们。 它们在新标签页中打开。

As expected, Laravel won by a large margin once again.

不出所料,Laravel再次大获全胜。

Interactive version:

互动版:

Interactive version:

互动版:

Some people were worried that splitting the versions for some frameworks but sparing Laravel may influence the results and give it an unfair advantage, but as we can see, Laravel wins even if you merge all other framework versions.

有人担心为某些框架拆分版本但保留Laravel可能会影响结果并给它带来不公平的优势,但是正如我们所看到的,即使您合并所有其他框架版本,Laravel也会获胜。

The data below will be presented in tabular form, simply because I didn’t have time to make pretty graphs yet and a lot of you were very impatient to hear the results. I’ll update the graphics soon.

下面的数据将以表格形式显示,仅仅是因为我还没有时间制作漂亮的图形,并且你们中的很多人都非常急于听到结果。 我将尽快更新图形。

框架国家优胜者 (Framework Winner by Country)

If we look at all the countries with more than 50 votes, these are their favorites:

如果我们查看票数超过50的所有国家/地区,这些是他们的最爱:

CountryTotal VotesWork FavoriteVotesPersonal FavoriteVotes
United States819Laravel219Laravel293
Czech Republic770Nette611Nette639
United Kingdom496Laravel138Laravel166
Germany428Symfony276Laravel100
France343Symfony2149Symfony2136
Brazil305Laravel100Laravel111
India287Laravel62Laravel77
Ukraine263PHPixie66PHPixie67
Indonesia242CodeIgniter77Laravel64
Russian Federation235Yii 253Yii 272
Poland216Symfony252Symfony246
Netherlands209Laravel64Laravel84
Romania183Symfony249Symfony248
Canada138Laravel40Laravel52
Spain131Symfony247Symfony243
Vietnam112Laravel34Laravel43
Iran101Laravel34Laravel35
Italy100Laravel20Laravel25
Australia99Laravel30Laravel39
Slovakia94Nette48Nette47
Belgium79Laravel26Laravel31
Serbia78Laravel20Laravel29
Hungary73Laravel17Laravel19
Turkey71Laravel26Laravel28
Mexico68Laravel22Laravel21
Bulgaria66Laravel13Laravel20
Lithuania65Symfony222Laravel26
Thailand58CodeIgniter14Laravel16
Pakistan57CodeIgniter14CodeIgniter13
Philippines54Laravel15Laravel16
Argentina52Laravel16Laravel21
Bangladesh51Laravel18Laravel16
Belarus51Symfony220Symfony219
Portugal50Laravel12Laravel17
国家 投票总数 最喜欢的工作 投票数 个人收藏 投票数
美国 819 Laravel 219 Laravel 293
捷克共和国 770 内特 611 内特 639
英国 496 Laravel 138 Laravel 166
德国 428 Symfony2 76 Laravel 100
法国 343 Symfony2 149 Symfony2 136
巴西 305 Laravel 100 Laravel 111
印度 287 Laravel 62 Laravel 77
乌克兰 263 PHPixie 66 PHPixie 67
印度尼西亚 242 CodeIgniter 77 Laravel 64
俄罗斯联邦 235 Yii 2 53 Yii 2 72
波兰 216 Symfony2 52 Symfony2 46
荷兰 209 Laravel 64 Laravel 84
罗马尼亚 183 Symfony2 49 Symfony2 48
加拿大 138 Laravel 40 Laravel 52
西班牙 131 Symfony2 47 Symfony2 43
越南 112 Laravel 34 Laravel 43
伊朗 101 Laravel 34 Laravel 35
意大利 100 Laravel 20 Laravel 25
澳大利亚 99 Laravel 30 Laravel 39
斯洛伐克 94 内特 48 内特 47
比利时 79 Laravel 26 Laravel 31
塞尔维亚 78 Laravel 20 Laravel 29
匈牙利 73 Laravel 17 Laravel 19
火鸡 71 Laravel 26 Laravel 28
墨西哥 68 Laravel 22 Laravel 21
保加利亚 66 Laravel 13 Laravel 20
立陶宛 65 Symfony2 22 Laravel 26
泰国 58 CodeIgniter 14 Laravel 16
巴基斯坦 57 CodeIgniter 14 CodeIgniter 13
菲律宾 54 Laravel 15 Laravel 16
阿根廷 52 Laravel 16 Laravel 21
孟加拉国 51 Laravel 18 Laravel 16
白俄罗斯 51 Symfony2 20 Symfony2 19
葡萄牙 50 Laravel 12 Laravel 17

It’s an interesting trend to observe. Most English speaking countries favor Laravel, while France is loyal to Symfony – it’s own product. Interestingly, an incredibly large percentage of Czechs (the second most active country in the survey!) favor Nette – a framework largely unknown in the western world, while Ukraine has its own local favorite – PHPixie. It gets even more interesting when you look at the top five for each country – not just the winner – but I’ll leave that up to you to explore!

这是一个有趣的趋势。 大多数说英语的国家都喜欢Laravel,而法国忠实于Symfony(它是自己的产品)。 有趣的是,非常多的捷克人(调查中第二活跃的国家!)支持Nette(在西方世界中鲜为人知的框架),而乌克兰有自己的本地偏爱PHPixie。 当您查看每个国家/地区的前五名(不仅是获胜者)时,它会变得更加有趣,但我将由您自己来探索!

年龄段框架 (Framework by Age Group)

Finally, if we take a look at the top 5 frameworks of each age group, we get this:

最后,如果我们看一下每个年龄段的前5个框架,就会得到:

Group: Under 18Votes: 131
Work FavoritesVotesPersonal FavoritesVotes
PHPixie73PHPixie73
Laravel24Laravel27
Nette8Nette9
No Framework6No Framework5
CodeIgniter4Symfony24
组:18岁以下 投票数:131
工作收藏夹 投票数 个人收藏夹 投票数
PHPixie 73 PHPixie 73
Laravel 24 Laravel 27
内特 8 内特 9
没有框架 6 没有框架 5
CodeIgniter 4 Symfony2 4
Group: 18 – 25Votes: 2433
Work FavoritesVotesPersonal FavoritesVotes
Laravel604Laravel720
Nette329Nette338
PHPixie259PHPixie259
Symfony2258Symfony2255
CodeIgniter178Yii 2194
组:18 – 25 投票数:2433
工作收藏夹 投票数 个人收藏夹 投票数
Laravel 604 Laravel 720
内特 329 内特 338
PHPixie 259 PHPixie 259
Symfony2 258 Symfony2 255
CodeIgniter 178 Yii 2 194
Group: 26 – 35Votes: 3870
Work FavoritesVotesPersonal FavoritesVotes
Laravel788Laravel1049
Symfony2636Symfony2597
CodeIgniter292Yii 2323
Nette285Nette303
Yii 2258CodeIgniter235
组:26 – 35 投票:3870
工作收藏夹 投票数 个人收藏夹 投票数
Laravel 788 Laravel 1049
Symfony2 636 Symfony2 597
CodeIgniter 292 Yii 2 323
内特 285 内特 303
Yii 2 258 CodeIgniter 235
Group: 36 – 45Votes: 1044
Work FavoritesVotesPersonal FavoritesVotes
Laravel191Laravel249
Symfony2146Symfony2134
CodeIgniter91Yii 279
Zend Framework 277Zend Framework 271
Company Internal Framework73CodeIgniter68
组:36 – 45 投票数:1044
工作收藏夹 投票数 个人收藏夹 投票数
Laravel 191 Laravel 249
Symfony2 146 Symfony2 134
CodeIgniter 91 Yii 2 79
Zend Framework 2 77 Zend Framework 2 71
公司内部架构 73 CodeIgniter 68
Group: 45+Votes: 252
Work FavoritesVotesPersonal FavoritesVotes
Laravel52Laravel66
CodeIgniter31No Framework29
Symfony223CodeIgniter27
No Framework21Yii 222
Yii 219Zend Framework 214
组:45+ 投票数:252
工作收藏夹 投票数 个人收藏夹 投票数
Laravel 52 Laravel 66
CodeIgniter 31 没有框架 29
Symfony2 23 CodeIgniter 27
没有框架 21 Yii 2 22
Yii 2 19 Zend Framework 2 14

Laravel, again, taking the lead in all, with Symfony usually following closely, except in the curious case of the underaged group – did PHPixie get introduced in a school and get points there? Worth looking into. Nothing really unexpected in these – except that only the youngest and oldest group seem to be “keeping it real” with “No Framework”. It’s also apparent that CodeIgniter, even in its current state, still maintains a very strong legacy and a loyal userbase.

Laravel再一次领头羊,Symfony通常紧随其后,但在未成年群体的奇怪情况下– PHPixie是否被学校引进并在那里获得积分? 值得一看。 这些中没有什么是真正令人意外的-除了只有最年轻和最老的组似乎在“无框架”的情况下“保持真实”。 同样显而易见的是,即使在当前状态下,CodeIgniter仍然保持着非常强大的遗产和忠实的用户群。

Interestingly, Phalcon’s popularity dropped drastically when compared to last year – it effectively dropped off the charts – but that’s also likely due to the much bigger sample size this year.

有趣的是,与去年相比, Phalcon的知名度急剧下降–实际上跌落了排行榜–但这也可能是由于今年的样本量更大。

Unfortunately, due to some complaints from last year, we didn’t include gender data in this survey. It would have been an interesting vector.

不幸的是,由于去年有一些投诉,我们没有在此调查中包括性别数据。 这将是一个有趣的载体。

成功 (On Success)

What follows is my opinion on why Laravel won again, read ahead if you’re interested in my take on things.

接下来是我对Laravel为什么再次获胜的看法,如果您对我的看法感兴趣,请继续阅读。

To the framework maintainers / owners out there. If you want to make it big – Laravel kind of big – recognize what Taylor has been doing. It’s not enough to just have good code. In fact, looking deeper into more than one framework can really disappoint a person, code-quality-wise. Just the other day, I was asked about Cake vs CodeIgniter and, having looked at CI’s source, got some serious 2008-level PTSD. The key to succeeding is, actually, advertising – as sad as that truth may be.

给那里的框架维护者/所有者。 如果您想扩大规模-Laravel有点大-请认出Taylor在做什么。 这不够的,仅仅有良好的代码。 实际上,深入研究多个框架确实会使人失望,从代码质量的角度来说。 就在前几天,有人问我关于Cake vs CodeIgniter的问题,在查看了CI的消息来源后,我得到了一些严肃的2008年级别PTSD。 成功的关键实际上是广告-真可悲。

alt

Taylor not only made sure Laravel has near perfect documentation, he also built (directly or indirectly) several other commercial services and partnerships around it. Laracasts covers all the missing docs and use cases, Forge and Envoyer are tuned for Laravel, and he frequently communicates with various bloggers about upcoming features and releases before they’re ready, so that they get maximum exposure on release time. The framework has its own subreddit, Packalyst is like Packagist but just for Laravel (!?), and there’s also Larajobs.com, which is borderline ridiculous. Laravel even has its own t-shirts (though the design leaves something to be desired). This may sound like typical marketing gobbledygook to you, but it works – social engineering is real, and to commercially succeed with your brand, you need to embrace it for what it really is – a brand.

泰勒不仅确保Laravel具有近乎完美的文档,还(直接或间接)建立了其他一些商业服务和与其相关的合作伙伴关系。 Laracasts涵盖了所有缺少的文档和用例,Forge和Envoyer为Laravel进行了调整,并且他经常与各种博主就即将推出的功能和发行版进行交流,以使它们在发布之前得到最大的利用。 该框架有其自己的子目录,Packalyst像Packagist一样,但仅适用于Laravel(!?),还有Larajobs.com,这简直是荒谬的。 Laravel甚至有自己的T恤(尽管设计有些不足)。 对于您来说,这听起来像是典型的营销骗子,但它确实有效–社会工程是真实的,要使您的品牌在商业上取得成功,您需要真正接受它- 品牌

If you’re serious about making money off of your open source work, don’t be afraid to invest in these matters. For example, get a good logo. Don’t trust your design abilities, you’re just not good. If you were, you’d have been a designer, not a PHP dev. Paying a couple hundred bucks for a good one will pay off in the long run. Don’t get your friend/daughter/partner to design it for you, else you may end up with something like this:

如果您真的想从开源工作中赚钱,请不要担心在这些方面进行投资。 例如,获得一个好的徽标。 不要相信自己的设计能力,那只是不好 。 如果您是,那么您将是设计师,而不是PHP开发人员。 从长远来看,付几百美元就能买到一个好东西。 不要让您的朋友/女儿/伙伴为您设计它,否则您可能最终会得到如下结果:

alt

Don’t publish documentation or website copy text without having someone disconnected look at it first – proper English is incredibly important for first impressions. Don’t be afraid to approach potential developer evangelists – try to get people to believe in your product by asking them what they dislike. Shape your product around other people’s desires and opinions, don’t swim hardheadedly against the current, and don’t let your ego feel insulted because someone suggested a solution that, when looked at objectively, could just be better than yours. Get a developer evangelist to write tutorials and other technical pieces about your framework – in time, the relationship may just grow into a Laravel->Laracasts mutually lucrative one. Don’t release half-baked products, and don’t do alphas and betas publicly. There’s no need to have public announcements about those – announce an RC or two, and release. Exposing people to an imperfect product too early does more harm than good. When was the last time Laravel had a beta release?

正确的英语是第一印象非常重要 -不要无需断开有人看它第一次发布文档或网站复制文本。 不要害怕与潜在的开发人员联系—尝试通过询问人们不喜欢的东西,使人们相信您的产品。 围绕他人的需求和观点来塑造您的产品,不要硬着头皮面对潮流,也不要让您的自我受到侮辱,因为有人提出了一种解决方案,客观地看,它可能比您的要好。 请一名开发人员来撰写有关您的框架的教程和其他技术文章-随着时间的流逝,这种关系可能会发展成Laravel-> Laracasts互惠互利的关系。 不要发布半熟产品,也不要公开发布Alpha和Beta版本。 无需公开发布这些信息,只需发布​​一两个RC,然后发布即可。 过早地使人接触不完美的产品弊大于利。 Laravel上次发布Beta版本是什么时候?

Look, I’ll be the first one to admit that Laravel is good. It really is, and I use it for some of my projects purely due to simplicity – one command and you’re good to go? Sold! I don’t even care about the underlying bloat of hardcore framework components that power it – it’s so simple to use, I can easily spend that time on optimization later on if I ever end up needing it – I’ll just rewrite part of the framework in Zephir if performance becomes THAT important (spoiler alert: it won’t). But I’m also bothered by this looming monopoly and the frankly astounding incompetence of other framework communities. Locking yourselves into your isolated environments is not good community management. Having a forum is not enough – interacting with other forums is better. Spread the word, analyze solutions from other people, discuss them. Be open, be transparent. Have an official blog, get a StackOverflow tag, justify your decisions, get in touch with popular publications which can help promote your framework if you present it well enough.

看,我将是第一个承认Laravel很好的人。 的确如此,我纯粹出于简单性而将它用于我的某些项目–一个命令,您准备好了吗? 卖了! 我什至都不在乎为其提供支持的硬核框架组件的潜在膨胀-它是如此简单,如果以后最终需要它,我可以轻松地将这段时间花费在优化上-我将重写其中的一部分。如果性能变得如此重要, 那么Zephir中的框架(扰流板警报:不会)。 但是我也为即将来临的垄断以及其他框架社区的令人震惊的无能而困扰。 将自己锁定在孤立的环境中并不是良好的社区管理。 拥有一个论坛是不够的–与其他论坛进行交互会更好。 传播信息,分析他人的解决方案,进行讨论。 开放,透明。 拥有一个官方博客,获取StackOverflow标签,证明您的决定合理,并与流行的出版物取得联系,如果您提供的框架足够好,则可以帮助您推广框架。

That said, I’d like to invite framework maintainers and those competent in the usage of those projects to get in touch – let’s build a good repository of cross-framework content. Let’s compare solutions, do “versus” posts not for the sake of one framework winning over others, but for the sake of comparing approaches and learning from each other. You have one year until the next survey – use this time to get exposure. Use it to teach, not dictate – to collaborate, not judge. Let’s make it happen – let’s tilt the scales for next year.

就是说,我想邀请框架维护者和那些在使用这些项目方面有能力的人取得联系–让我们建立一个很好的跨框架内容存储库。 让我们比较解决方案,做“与”比较不是为了一个框架胜过另一个框架,而是为了比较方法和相互学习。 您距离下一次调查还有一年的时间,请利用这段时间进行曝光。 用它来教导而不是命令–合作而不是判断。 让我们实现它-让我们倾斜明年的规模。

数据 (Data)

The data for this survey is all in the repo. While most of the aggregation was done with R, I have a feeling some of you may want to use PHP to process this, so I’ve included some helper files – the details are all in the repo’s README file. I’ve mainly extracted the age group and education level into integers so that the whole set takes up less space and has some more robust data types inside, and I replaced Typeform’s funky multi-select answer format with the number one (1) where the answer was selected (originally, Typeform copies the name of the answer into the answer field, wasting a whole lot of space).

此调查的数据全部在存储库中 。 虽然大多数聚合是使用R完成的,但我感觉有些人可能想使用PHP来处理此问题,因此我包括了一些帮助程序文件-详细信息都在存储库的README文件中。 我主要将年龄组和受教育程度提取为整数,以便整个集合占用更少的空间,并且内部具有更健壮的数据类型,并且我将Typeform的时髦的多选答案格式替换为数字(1),其中选择了答案(最初,Typeform将答案的名称复制到答案字段中,浪费了大量空间)。

I also extracted the header fields and countries into separate PHP files (in order of appearance) so you can have them open on a separate screen or even include them directly if you need them.

我还将标题字段和国家/地区提取到单独PHP文件中(按出现顺序),因此您可以在单独的屏幕上打开它们,甚至在需要时直接包含它们。

赞助商 (Sponsorships)

Many thanks to Jetbrains for providing us with three PhpStorm licenses, and to Zend for three Zend Studio licenses, rewarding the total top six resharers of this survey. In numbers of reshares and the country they’re from, they were:

非常感谢Jetbrains为我们提供了3个PhpStorm许可证,并感谢Zend获得了3个Zend Studio许可证,从而奖励了本次调查的前6名转发者。 转售数量和来自的国家/地区是:

  • 168 (Czech Republic)

    168(捷克共和国)
  • 97 (Brazil)

    97(巴西)
  • 84 (Germany)

    84(德国)
  • 54 (Indonesia)

    54(印度尼西亚)
  • 53 (UK)

    53(英国)
  • 26 (Bangladesh)

    26(孟加拉国)

The first three have been contacted, and once they’ve made their choice clear the other three will get their rewards.

前三个已经联系过,一旦他们明确选择,其他三个将获得奖励。

Likewise, three random people with valid email addresses have been contacted about their three-month Learnable subscriptions.

同样,已经联系了三个具有有效电子邮件地址的随机人,以了解他们三个月的可学习订阅。

Many thanks to all who participated and to all who reshared the survey – without your efforts we couldn’t have built such an amazing body of responses. Stay tuned for more in depth analyses further down the road!

非常感谢所有参与调查的人和转发此调查的所有人-如果没有您的努力,我们就无法做出如此惊人的回应。 请继续关注,以进一步深入分析!

结论 (Conclusion)

With another survey drawing to a close, we’re once again reminded how much a good, healthy community matters. How much do you agree/disagree with my idea of why Laravel won above? Do you feel like the factors I mention aren’t that important in the grand scheme of things, or do you think I’m right on some points? Let us know in the comments below – and remember, the data is available for download, so if you come up with some interesting graphs, share them with us and we’ll add them to this post! Likewise, if you’d like some other correlations and vectors explored but don’t feel like fiddling with the data, let us know!

随着另一项调查即将结束,我们再次想起一个良好,健康的社区至关重要。 您对我关于拉拉维尔(Laravel)为何能赢得上述冠军的想法表示多少同意/不同意? 您是否觉得我提到的因素在整体规划中并不那么重要,或者您认为我在某些方面是正确的? 在下面的评论中让我们知道–并记住,数据可供下载 ,因此,如果您有一些有趣的图表,请与我们分享,我们将它们添加到这篇文章中! 同样,如果您想探索其他相关性和向量,但又不想摆弄数据,请告诉我们!

翻译自: https://www.sitepoint.com/best-php-framework-2015-sitepoint-survey-results/

这篇关于2015年最佳PHP框架:SitePoint调查结果的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/397562

相关文章

cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个?

跨平台系列 cross-plateform 跨平台应用程序-01-概览 cross-plateform 跨平台应用程序-02-有哪些主流技术栈? cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个? cross-plateform 跨平台应用程序-04-React Native 介绍 cross-plateform 跨平台应用程序-05-Flutte

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

数据治理框架-ISO数据治理标准

引言 "数据治理"并不是一个新的概念,国内外有很多组织专注于数据治理理论和实践的研究。目前国际上,主要的数据治理框架有ISO数据治理标准、GDI数据治理框架、DAMA数据治理管理框架等。 ISO数据治理标准 改标准阐述了数据治理的标准、基本原则和数据治理模型,是一套完整的数据治理方法论。 ISO/IEC 38505标准的数据治理方法论的核心内容如下: 数据治理的目标:促进组织高效、合理地

如何确定 Go 语言中 HTTP 连接池的最佳参数?

确定 Go 语言中 HTTP 连接池的最佳参数可以通过以下几种方式: 一、分析应用场景和需求 并发请求量: 确定应用程序在特定时间段内可能同时发起的 HTTP 请求数量。如果并发请求量很高,需要设置较大的连接池参数以满足需求。例如,对于一个高并发的 Web 服务,可能同时有数百个请求在处理,此时需要较大的连接池大小。可以通过压力测试工具模拟高并发场景,观察系统在不同并发请求下的性能表现,从而

ZooKeeper 中的 Curator 框架解析

Apache ZooKeeper 是一个为分布式应用提供一致性服务的软件。它提供了诸如配置管理、分布式同步、组服务等功能。在使用 ZooKeeper 时,Curator 是一个非常流行的客户端库,它简化了 ZooKeeper 的使用,提供了高级的抽象和丰富的工具。本文将详细介绍 Curator 框架,包括它的设计哲学、核心组件以及如何使用 Curator 来简化 ZooKeeper 的操作。 1

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

Spring Framework系统框架

序号表示的是学习顺序 IoC(控制反转)/DI(依赖注入): ioc:思想上是控制反转,spring提供了一个容器,称为IOC容器,用它来充当IOC思想中的外部。 我的理解就是spring把这些对象集中管理,放在容器中,这个容器就叫Ioc这些对象统称为Bean 用对象的时候不用new,直接外部提供(bean) 当外部的对象有关系的时候,IOC给它俩绑好(DI) DI和IO

Prometheus与Grafana在DevOps中的应用与最佳实践

Prometheus 与 Grafana 在 DevOps 中的应用与最佳实践 随着 DevOps 文化和实践的普及,监控和可视化工具已成为 DevOps 工具链中不可或缺的部分。Prometheus 和 Grafana 是其中最受欢迎的开源监控解决方案之一,它们的结合能够为系统和应用程序提供全面的监控、告警和可视化展示。本篇文章将详细探讨 Prometheus 和 Grafana 在 DevO

springboot整合swagger2之最佳实践

来源:https://blog.lqdev.cn/2018/07/21/springboot/chapter-ten/ Swagger是一款RESTful接口的文档在线自动生成、功能测试功能框架。 一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务,加上swagger-ui,可以有很好的呈现。 SpringBoot集成 pom <!--swagge

Sentinel 高可用流量管理框架

Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。 Sentinel 具有以下特性: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应