Python数据可视化工具软件_数据大屏可视化

Python数据可视化工具软件_数据大屏可视化如何做Python的数据可视化?pyecharts是一个用于生成Echarts图表的类库。Echarts是百度开源的一个数据可视化JS库。主要用于数据可视化。一、安装pyecharts兼容Python2和Python3。目前版本为0.1.4pipinstallpyecharts二、入门首先开始来绘制你的第一个图表

大家好,又见面了,我是你们的朋友全栈君。

刘宇宙,现在一家创业型公司做技术总负责,做爬虫和数据处理相关工作,曾从事过卡系统研发、金融云计算服务系统研发,物联网方向大数据研发,著书一本,《Python3.5从零开始学》

如何做Python 的数据可视化?

pyecharts 是一个用于生成 Echarts 图表的类库。 Echarts 是百度开源的一个数据可视化 JS 库。主要用于数据可视化。

一、安装

pyecharts 兼容 Python2 和 Python3。目前版本为 0.1.4

pip install pyecharts

二、入门

首先开始来绘制你的第一个图表

frompyecharts importBarbar =Bar(我的第一个图表这里是副标题)bar.add(服装, [衬衫羊毛衫雪纺衫裤子高跟鞋袜子], [52036107590])bar.show_config()bar.render()

Python数据可视化工具软件_数据大屏可视化

Tip:可以按右边的下载按钮将图片下载到本地

  • add()

    主要方法,用于添加图表的数据和设置各种配置项

  • show_config()

    打印输出图表的所有配置项

  • render()

    默认将会在根目录下生成一个 render.html 的文件,支持 path 参数,设置文件保存位置,如 render(r”e:my_first_chart.html”),文件用浏览器打开。

    默认的编码类型为 UTF-8,在 Python3 中是没什么问题的,Python3 对中文的支持好很多。但是在 Python2 中,编码的处理是个很头疼的问题,暂时没能找到完美的解决方法,目前只能通过文本编辑器自己进行二次编码,我用的是 Visual Studio Code,先通过 Gbk 编码重新打开,然后再用 UTF-8 重新保存,这样用浏览器打开的话就不会出现中文乱码问题了。

基本上所有的图表类型都是这样绘制的:

  1. chart_name = Type() 初始化具体类型图表。

  2. add() 添加数据及配置项。

  3. render() 生成 .html 文件。

三、图表类型

因篇幅原因,这里只给出了每种图表类型的示例(代码 + 生成图表),目的是为了引起读者的兴趣。详细参数的介绍请参考项目 README.md 文档

1 Bar(柱状图/条形图)

frompyecharts importBarbar =Bar(标记线和标记点示例)bar.add(商家A, attr, v1, mark_point=[average])bar.add(商家B, attr, v2, mark_line=[minmax])bar.render()

frompyecharts importBarbar =Bar(x 轴和 y 轴交换)bar.add(商家A, attr, v1)bar.add(商家B, attr, v2, is_convert=True)bar.render()

Python数据可视化工具软件_数据大屏可视化

2 EffectScatter(带有涟漪特效动画的散点图)

frompyecharts importEffectScatterv1 =[102030405060]v2 =[252015106033]es =EffectScatter(动态散点图示例)es.add(effectScatter, v1, v2)es.render()

es =EffectScatter(动态散点图各种图形示例)es.add(“”, [10], [10], symbol_size=20effect_scale=3.5effect_period=3symbol=pin)es.add(“”, [20], [20], symbol_size=12effect_scale=4.5effect_period=4,symbol=rect)es.add(“”, [30], [30], symbol_size=30effect_scale=5.5effect_period=5,symbol=roundRect)es.add(“”, [40], [40], symbol_size=10effect_scale=6.5effect_brushtype=fill,symbol=diamond)es.add(“”, [50], [50], symbol_size=16effect_scale=5.5effect_period=3,symbol=arrow)es.add(“”, [60], [60], symbol_size=6effect_scale=2.5effect_period=3,symbol=triangle)es.render()

Python数据可视化工具软件_数据大屏可视化

3 Funnel(漏斗图)

frompyecharts importFunnelattr =[衬衫羊毛衫雪纺衫裤子高跟鞋袜子]value =[20406080100120]funnel =Funnel(漏斗图示例)funnel.add(商品, attr, value, is_label_show=Truelabel_pos=insidelabel_text_color=#fff)funnel.render()

4 Gauge(仪表盘)

frompyecharts importGaugegauge =Gauge(仪表盘示例)gauge.add(业务指标完成率66.66)gauge.show_config()gauge.render()

Python数据可视化工具软件_数据大屏可视化

5 Geo(地理坐标系)

frompyecharts importGeodata =[ (海门9),(鄂尔多斯12),(招远12),(舟山12),(齐齐哈尔14),(盐城15), (赤峰16),(青岛18),(乳山18),(金昌19),(泉州21),(莱西21), (日照21),(胶南22),(南通23),(拉萨24),(云浮24),(梅州25)]geo =Geo(全国主要城市空气质量data from pm2.5title_color=#ffftitle_pos=center,width=1200height=600background_color=#404a59)attr, value =geo.cast(data)geo.add(“”, attr, value, visual_range=[0200], visual_text_color=#fffsymbol_size=15is_visualmap=True)geo.show_config()geo.render()

Python数据可视化工具软件_数据大屏可视化

frompyecharts importGeodata =[(海门9), (鄂尔多斯12), (招远12), (舟山12), (齐齐哈尔14), (盐城15)]geo =Geo(全国主要城市空气质量data from pm2.5title_color=#ffftitle_pos=centerwidth=1200height=600background_color=#404a59)attr, value =geo.cast(data)geo.add(“”, attr, value, type=effectScatteris_random=Trueeffect_scale=5)geo.show_config()geo.render()

Python数据可视化工具软件_数据大屏可视化

6 Graph(关系图)

frompyecharts importGraphnodes =[{
name结点1symbolSize10}, {
name结点2symbolSize20}, {
name结点3symbolSize30}, {
name结点4symbolSize40}, {
name结点5symbolSize50}, {
name结点6symbolSize40}, {
name结点7symbolSize30}, {
name结点8symbolSize20}]links =[]forinnodes: forinnodes: links.append({
source: i.get(name), target: j.get(name)})graph =Graph(关系图-环形布局示例)graph.add(“”, nodes, links, is_label_show=Truerepulsion=8000layout=circularlabel_text_color=None)graph.show_config()graph.render()

Python数据可视化工具软件_数据大屏可视化

frompyecharts importGraphimportjsonwithopen(..jsonweibo.jsonrencoding=utf-8asf: j =json.load(f) nodes, links, categories, cont, mid, userl =jgraph =Graph(微博转发关系图width=1200height=600)graph.add(“”, nodes, links, categories, label_pos=rightrepulsion=50is_legend_show=Falseline_curve=0.2label_text_color=None)graph.show_config()graph.render()

Python数据可视化工具软件_数据大屏可视化

7 Line(折线/面积图)

frompyecharts importLineattr =[衬衫羊毛衫雪纺衫裤子高跟鞋袜子]v1 =[520361010100]v2 =[556016201580]line =Line(折线图示例)line.add(商家A, attr, v1, mark_point=[average])line.add(商家B, attr, v2, is_smooth=Truemark_line=[maxaverage])line.show_config()line.render()

line =Line(折线图-阶梯图示例)line.add(商家A, attr, v1, is_step=Trueis_label_show=True)line.show_config()line.render()

Python数据可视化工具软件_数据大屏可视化

line =Line(折线图-面积图示例)line.add(商家A, attr, v1, is_fill=Trueline_opacity=0.2area_opacity=0.4symbol=None)line.add(商家B, attr, v2, is_fill=Truearea_color=#000area_opacity=0.3is_smooth=True)line.show_config()line.render()

Python数据可视化工具软件_数据大屏可视化

8 Liquid(水球图)

frompyecharts importLiquidliquid =Liquid(水球图示例)liquid.add(Liquid, [0.6])liquid.show_config()liquid.render()

Python数据可视化工具软件_数据大屏可视化

frompyecharts importLiquidliquid =Liquid(水球图示例)liquid.add(Liquid, [0.60.50.40.3], is_liquid_outline_show=False)liquid.show_config()liquid.render()

Python数据可视化工具软件_数据大屏可视化

frompyecharts importLiquidliquid =Liquid(水球图示例)liquid.add(Liquid, [0.60.50.40.3], is_liquid_animation=Falseshape=diamond)liquid.show_config()liquid.render()

Python数据可视化工具软件_数据大屏可视化

9 Map(地图)

frompyecharts importMapvalue =[15510667833801905349.6]attr =[福建山东北京上海甘肃新疆河南广西西藏]map=Map(Map 结合 VisualMap 示例width=1200height=600)map.add(“”, attr, value, maptype=chinais_visualmap=Truevisual_text_color=#000)map.show_config()map.render()

Python数据可视化工具软件_数据大屏可视化

frompyecharts importMapvalue =[201902537765]attr =[汕头市汕尾市揭阳市阳江市肇庆市]map=Map(广东地图示例width=1200height=600)map.add(“”, attr, value, maptype=广东is_visualmap=Truevisual_text_color=#000)map.show_config()map.render()

Python数据可视化工具软件_数据大屏可视化

10 Parallel(平行坐标系)

frompyecharts importParallelc_schema =[ {
dim0namedata}, {
dim1nameAQI}, {
dim2namePM2.5}, {
dim3namePM10}, {
dim4nameCO}, {
dim5nameNO2}, {
dim6nameCO2}, {
dim7name等级typecategorydata: [轻度污染中度污染重度污染严重污染]}]data =[ [191451250.823423], [26527780.864529], [38360841.097327], [4109811211.286851轻度污染], [5106771141.075551轻度污染], [6109811211.286851轻度污染], [7106771141.075551轻度污染], [88965780.865126], [95333470.645017], [108055801.017524], [11117811241.034524轻度污染], [1299711421.16242], [1395691301.287450], [14116871311.478440轻度污染]]parallel =Parallel(平行坐标系-用户自定义指示器)parallel.config(c_schema=c_schema)parallel.add(parallel, data)parallel.show_config()parallel.render()

Python数据可视化工具软件_数据大屏可视化

11 Pie(饼图)

frompyecharts importPieattr =[衬衫羊毛衫雪纺衫裤子高跟鞋袜子]v1 =[111213101010]pie =Pie(饼图示例)pie.add(“”, attr, v1, is_label_show=True)pie.show_config()pie.render()

Python数据可视化工具软件_数据大屏可视化

frompyecharts importPieattr =[衬衫羊毛衫雪纺衫裤子高跟鞋袜子]v1 =[111213101010]v2 =[192132202033]pie =Pie(饼图-玫瑰图示例title_pos=centerwidth=900)pie.add(商品A, attr, v1, center=[2550], is_random=Trueradius=[3075], rosetype=radius)pie.add(商品B, attr, v2, center=[7550], is_random=Trueradius=[3075], rosetype=areais_legend_show=Falseis_label_show=True)pie.show_config() pie.render()

Python数据可视化工具软件_数据大屏可视化

12 Polar(极坐标系)

frompyecharts importPolarradius =[周一周二周三周四周五周六周日]polar =Polar(极坐标系-堆叠柱状图示例width=1200height=600)polar.add(A, [1234351], radius_data=radius, type=barRadiusis_stack=True)polar.add(B, [2461231], radius_data=radius, type=barRadiusis_stack=True)polar.add(C, [1234125], radius_data=radius, type=barRadiusis_stack=True)polar.show_config()polar.render()

Python数据可视化工具软件_数据大屏可视化

frompyecharts importPolarradius =[周一周二周三周四周五周六周日]polar =Polar(极坐标系-堆叠柱状图示例width=1200height=600)polar.add(“”, [1234351], radius_data=radius, type=barAngleis_stack=True)polar.add(“”, [2461231], radius_data=radius, type=barAngleis_stack=True)polar.add(“”, [1234125], radius_data=radius, type=barAngleis_stack=True)polar.show_config()polar.render()

Python数据可视化工具软件_数据大屏可视化

13 Radar(雷达图)

frompyecharts importRadarschema =[ (销售6500), (管理16000), (信息技术30000), (客服38000), (研发52000), (市场25000)]v1 =[[43001000028000350005000019000]]v2 =[[50001400028000310004200021000]]radar =Radar()radar.config(schema)radar.add(预算分配, v1, is_splitline=Trueis_axisline_show=True)radar.add(实际开销, v2, label_color=[#4e79a7], is_area_show=False)radar.show_config()radar.render()

Python数据可视化工具软件_数据大屏可视化

value_bj =[ [559560.461861], [2511210.653492], [567630.31453], [337290.331664]]value_sh =[ [91451250.8234231], [6527780.8645292], [8360841.0973273], [109811211.2868514]]c_schema=[{
nameAQImax300min5}, {
namePM2.5max250min20}, {
namePM10max300min5}, {
nameCOmax5}, {
nameNO2max200}, {
nameSO2max100}]radar =Radar()radar.config(c_schema=c_schema, shape=circle)radar.add(北京, value_bj, item_color=#f9713csymbol=None)radar.add(上海, value_sh, item_color=#b3e4a1symbol=None)radar.show_config()radar.render()

Python数据可视化工具软件_数据大屏可视化

14 Scatter(散点图)

frompyecharts importScatterv1 =[102030405060]v2 =[102030405060]scatter =Scatter(散点图示例)scatter.add(A, v1, v2)scatter.add(B, v1[::1], v2)scatter.show_config()scatter.render()

Python数据可视化工具软件_数据大屏可视化

散点打印Pyecharts字体。

frompyecharts importScatterscatter =Scatter(散点图示例)v1, v2 =scatter.draw(../images/pyecharts-0.png)scatter.add(pyecharts, v1, v2, is_random=True)scatter.show_config()scatter.render()

Python数据可视化工具软件_数据大屏可视化

15 WordCloud(词云图)

frompyecharts importWordCloudname =[Sam S ClubMacysAmy SchumerJurassic WorldCharter CommunicationsChick Fil APlanet FitnessPitch PerfectExpressHomeJohnny DeppLena DunhamLewis HamiltonKXANMary Ellen MarkFarrah AbrahamRita OraSerena WilliamsNCAA baseball tournamentPoint Break]value =[1000061814386405524672244189814841112965847582555550462366360282273265]wordcloud =WordCloud(width=1300height=620)wordcloud.add(“”, name, value, word_size_range=[20100])wordcloud.show_config()wordcloud.render()

Python数据可视化工具软件_数据大屏可视化

wordcloud =WordCloud(width=1300height=620)wordcloud.add(“”, name, value, word_size_range=[30100], shape=diamond)wordcloud.show_config()wordcloud.render()

Python数据可视化工具软件_数据大屏可视化

五、用户自定义

用户还可以自定义结合 Line/Bar 图表

需使用 get_series() 和 custom() 方法

get_series()“””获取图表的 series 数据 “””

custom(series)”’追加自定义图表类型 ”’

  • series -> dict

    追加图表类型的 series 数据

先用 get_series() 获取数据,再使用 custom() 将图表结合在一起

frompyecharts importBar, Lineattr =[ABCDEF]v1 =[102030405060]v2 =[152535455565]v3 =[382858487868]bar =Bar(Line – Bar 示例)bar.add(bar, attr, v1)line =Line()line.add(line, v2, v3)bar.custom(line.get_series())bar.show_config()bar.render()

六、更多示例

用极坐标系画出一个爱心

importmathfrompyecharts importPolardata =[]forinrange(101): theta =/100*360=5*(1+math.sin(theta /180*math.pi)) data.append([r, theta])hour =[i forinrange(125)]polar =Polar(极坐标系示例width=1200height=600)polar.add(Love, data, angle_data=hour, boundary_gap=False,start_angle=0)polar.show_config()polar.render()

Python数据可视化工具软件_数据大屏可视化

用极坐标系画出一朵小花

importmathfrompyecharts importPolardata =[]forinrange(361): t =/180*math.pi r =math.sin(2*t) *math.cos(2*t) data.append([r, i])polar =Polar(极坐标系示例width=1200height=600)polar.add(Flower, data, start_angle=0symbol=Noneaxis_range=[0None])polar.show_config()polar.render()

Python数据可视化工具软件_数据大屏可视化

还可以给小花涂上颜色

importmathfrompyecharts importPolardata =[]forinrange(361): t =/180*math.pi r =math.sin(2*t) *math.cos(2*t) data.append([r, i])polar =Polar(极坐标系示例width=1200height=600)polar.add(Color-Flower, data, start_angle=0symbol=Noneaxis_range=[0None], area_color=#f71f24area_opacity=0.6)polar.show_config()polar.render()

Python数据可视化工具软件_数据大屏可视化

用散点图画出一个爱心

frompyecharts importScatterscatter =Scatter(散点图示例width=800height=480)v1 ,v2 =scatter.draw(../images/love.png)scatter.add(Love, v1, v2)scatter.render()

Python数据可视化工具软件_数据大屏可视化

用散点图画出一个火辣的 Bra

frompyecharts importScatterscatter =Scatter(散点图示例width=1000height=480)v1 ,v2 =scatter.draw(../images/cup.png)scatter.add(Cup, v1, v2)scatter.render()

Python数据可视化工具软件_数据大屏可视化

某地最低温和最高气温折线图

frompyecharts importLineattr =[周一周二周三周四周五周六周日, ]line =Line(折线图示例)line.add(最高气温, attr, [11111513121310], mark_point=[maxmin], mark_line=[average])line.add(最低气温, attr, [1225320], mark_point=[maxmin], mark_line=[average], yaxis_formatter=°C)line.show_config()line.render()

饼图嵌套

frompyecharts importPiepie =Pie(饼图示例title_pos=centerwidth=1000height=600)pie.add(“”, [ABCDEF], [335321234135251148], radius=[4055],is_label_show=True)pie.add(“”, [HIJ], [335679204], radius=[030], legend_orient=verticallegend_pos=left)pie.show_config()pie.render()

Python数据可视化工具软件_数据大屏可视化

饼图再嵌套

importrandomfrompyecharts importPieattr =[ABCDEF]pie =Pie(饼图示例width=1000height=600)pie.add(“”, attr, [random.randint(0100forinrange(6)], radius=[5055], center=[2550],is_random=True)pie.add(“”, attr, [random.randint(20100forinrange(6)], radius=[045], center=[2550],rosetype=area)pie.add(“”, attr, [random.randint(0100forinrange(6)], radius=[5055], center=[6550],is_random=True)pie.add(“”, attr, [random.randint(20100forinrange(6)], radius=[045], center=[6550],rosetype=radius)pie.show_config()pie.render()

某地的降水量和蒸发量柱状图

frompyecharts importBarattr =[{}月.format(i) forinrange(113)]v1 =[2.04.97.023.225.676.7135.6162.232.620.06.43.3]v2 =[2.65.99.026.428.770.7175.6182.248.718.86.02.3]bar =Bar(柱状图示例)bar.add(蒸发量, attr, v1, mark_line=[average], mark_point=[maxmin])bar.add(降水量, attr, v2, mark_line=[average], mark_point=[maxmin])bar.show_config()bar.render()

Python数据可视化工具软件_数据大屏可视化

各类电影中”好片”所占的比例

frompyecharts importPiepie =Pie(各类电影中”好片”所占的比例数据来着豆瓣title_pos=center)pie.add(“”, [剧情“”], [2575], center=[1030], radius=[1824], label_pos=centeris_label_show=Truelabel_text_color=None, )pie.add(“”, [奇幻“”], [2476], center=[3030], radius=[1824], label_pos=centeris_label_show=Truelabel_text_color=Nonelegend_pos=left)pie.add(“”, [爱情“”], [1486], center=[5030], radius=[1824], label_pos=centeris_label_show=Truelabel_text_color=None)pie.add(“”, [惊悚“”], [1189], center=[7030], radius=[1824], label_pos=centeris_label_show=Truelabel_text_color=None)pie.add(“”, [冒险“”], [2773], center=[9030], radius=[1824], label_pos=centeris_label_show=Truelabel_text_color=None)pie.add(“”, [动作“”], [1585], center=[1070], radius=[1824], label_pos=centeris_label_show=Truelabel_text_color=None)pie.add(“”, [喜剧“”], [5446], center=[3070], radius=[1824], label_pos=centeris_label_show=Truelabel_text_color=None)pie.add(“”, [科幻“”], [2674], center=[5070], radius=[1824], label_pos=centeris_label_show=Truelabel_text_color=None)pie.add(“”, [悬疑“”], [2575], center=[7070], radius=[1824], label_pos=centeris_label_show=Truelabel_text_color=None)pie.add(“”, [犯罪“”], [2872], center=[9070], radius=[1824], label_pos=centeris_label_show=Truelabel_text_color=Noneis_legend_show=Truelegend_top=center)pie.show_config()pie.render()

Python数据可视化工具软件_数据大屏可视化

用极坐标系画出一个蜗牛壳

importmathfrompyecharts importPolardata =[]forinrange(5): forinrange(101): theta =/100*360alpha =*360+theta r =math.pow(math.e, 0.003*alpha) data.append([r, theta])polar =Polar(极坐标系示例)polar.add(“”, data, symbol_size=0symbol=circlestart_angle=-25is_radiusaxis_show=Falsearea_color=#f3c5b3area_opacity=0.5is_angleaxis_show=False)polar.show_config()polar.render()

Python数据可视化工具软件_数据大屏可视化

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/124940.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 最新封装版EVE模拟器部署和使用说明(图文版)

    最新封装版EVE模拟器部署和使用说明(图文版)本着分享和帮助他人的态度,用给人以鱼的方式写下这个文档——乾颐堂达叔michael-lightEVE模拟器使用说明基础部署篇第一步:下载准备好所需资料;网盘链接:其中包含的内容有:Firefox浏览器(浏览器,用来搭拓扑,开关模拟机)Wireshark(抓包软件)Vmware(虚拟化软件,用来承载模拟器运行的)Putty(这个是用来操作设备的一种终端)SecureC…

    2022年6月6日
    54
  • 通俗易懂的Mybatis工作原理[通俗易懂]

    作为半自动的ORM框架,Mybatis被越来越多的企业接受。搞清楚它的工作原理以及底层实现,对于开发者可事半功倍。很多文章都是使用大批量的源码流程去分析原理。对于有源码阅读功底的开发者,也许还能招架住,但还是不直观。我以前的很多文章都是这么做的,后来有朋友私信建议说,这些文章类似于个人笔记,只能自己阅读,不利于分享,所以,本文将尝试采用通俗易懂的白话文带领大家认识一下Mybatis的工作原理。(PS:大家可以设想,如果自己在开发Mybatis,该如何设计好Mybatis的功能呢?)一...

    2022年4月17日
    43
  • 微信公众号高质量技术贴-提炼总结

    微信公众号高质量技术贴-提炼总结微信公众号高质量技术贴过滤掉对自己感觉没有技术相关性的,或者是那种水贴对内容进行归类整理阅读完写下自己的读后感LINUX从无盘启动看Linux启动原理“只读内存”(ROM)—-“基本输入输出系统”(BIOS)—-“硬件自检”(POST)—-“启动顺序”(BootSequence)上电自检—-UEFI固件被加载—-加载UEFI应用—-启动内核及initramfs/sbin/init—-/etc/inittab—-etc/rcN.dLi

    2022年7月19日
    21
  • 原生ajax请求的五个步骤

    原生ajax请求的五个步骤什么是ajax?通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。ajax的优点:1.实现局部更新(无刷新状态下)2.减轻了服务器端的压力ajax的缺点:1.破坏了浏览器前进和后退机制(因为ajax自动更新机制)2.一个Ajax请求多了,也会出现页面加载慢的情况。3.搜索引擎的支持程度比较低。4.ajax的安全性问题不太好(可以用数据加密解决)。注:如果要使用ajax必须要有后端环境的支持(服务器端)。

    2022年5月17日
    183
  • rabbitmq异步处理_怎么解决js异步方法执行顺序

    rabbitmq异步处理_怎么解决js异步方法执行顺序RabbitMQ即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。使用RabbitMQ实现异步更新文章浏览量,提升阅读文章时的响应速度。从直接更新数据库耗时450ms到异步更新数据库耗时50ms,明显提升接口性能,非常的nice~………

    2022年10月4日
    2
  • Dubbo + Hystrix 实现服务熔断「建议收藏」

    Dubbo + Hystrix 实现服务熔断「建议收藏」熔断器简介在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以通过RPC相互调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的“雪崩”效应。为了解决这个问题,业界提出了熔断器模型。Netflix

    2022年8月30日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号