- 博客(85)
- 资源 (7)
- 问答 (4)
- 收藏
- 关注
原创 钉钉报警的优势在哪里?如何配置钉钉机器人进行报警信息推送?
这样的报警方式更适合高级别的报警提醒,用于处理紧急情况。出现级别不高而又频繁地发送短信会让人产生排斥感,而且电话或者短信的报警方式也存在一定的成本。
2024-04-22 19:48:19 391
原创 如何选择全链路监控系统?CAT、SkyWalking、Pinpoint哪个更适合?
如果服务器上没有应用还会造成硬件瓶颈吗?显然是不会的,。而寻找系统问题的根因,对于系统链路监控也是必不可少的,前面我们也写了几篇关于SkyWalking搭建的文章,但是文章视角不一样。之前是以架构设计的角度来通过监控体系搭建,及时了解系统的运行情况和服务器的调用链路。本篇文章主要是以测试的角度来描述搭建目的。
2024-04-22 19:47:47 405
原创 【微服务-OpenFeign】还不会SpringCloud集成OpenFeign?看这一篇就够了
前面我们讲了一下 Ribbon 和 RestTemplate 实现服务端通信的方法,Ribbon 提供了客户端负载均衡,而 RestTemplate 则对 http 进行封装,简化了发送请求的流程,两者互相配合,构建了服务间的高可用通信。。为了便于理解,我们这里通过一个具体的案例来配合理解。
2024-04-18 11:33:10 345
原创 【微服务-Ribbon】如何通过代码方式实现Ribbon+RestTemplate的服务通信
前面我们了解了负载均衡的作用以及负载均衡的一些负载策略,这篇我们来看一下,在微服务(SpringCloud)架构中,如何来实现服务间的高可用通信。我们先来了解下,RestTemplate 对象是Spring Cloud 封装的 RESTful 通信对象,它封装了基于 HTTP 协议的操作,通过简单的API便可发起 HTTP 请求并自动处理响应。,两者配合可以极大简化服务间通信过程。。下面我们来看一下两种开发模式的具体代码实现。
2024-04-18 11:30:41 647
原创 【微服务】SpringCloud是如何支撑微服务架构的?
前面我们介绍了微服务架构的各个组件以及各组件的职责,在Java领域中,Spring可以说是无人不知无人不晓的,我们现代的企业级应用和互联网应用,很大一部分都是构建在Spring生态体系上的,同样,实现微服务架构的SpringCloud也是在Spring基础上生根发芽的。
2024-04-18 11:29:52 383
原创 【微服务-Ribbon】什么是负载均衡?微服务中负载均衡有哪些策略呢?
前面几篇文章,我们了解了一下Nacos的单机部署、集群部署以及微服务接入Nacos的步骤。从本篇开始,我们来看一下微服务第二个通用组件-负载均衡(Ribbon)。
2024-04-18 11:28:35 343
原创 【微服务】Nacos生产环境配置技巧分享
前面我们介绍了Nacos作为配置中心组件实现,是如何配置和接入的。对于Nacos来说,他是集注册中心及配置中心为一体的。基于它的强大能力,我们在这里来统一分享几个Nacos在生产环境的配置技巧。
2024-04-15 11:46:43 1098
原创 【微服务-Nacos】手把手教你Nacos集群部署,不会的来找我!
前面我们介绍了Nacos单机部署和微服务接入Nacos注册中心的操作步骤,但单机部署是分布式应用的大忌,在分布式架构中,任何单点都可能成为系统的瓶颈。因此关于Nacos部署,通常都是采用集群部署来为系统带来高可用性。这里我们来介绍下Nacos的集群部署。
2024-04-15 11:44:24 602
原创 【微服务-应用性能监控】SkyWalking最佳实践
上一篇我们掌握了基于 Sleuth+Zipkin 对微服务架构实施基于日志的链路追踪,通过 Sleuth 在微服务应用中附加链路数据,再通过 Zipkin 实现链路数据收集与可视化,从而保证开发与运维人员在生产环境了解微服务的执行过程与具体细节,为产品运维提供了有力的保障。本篇文章咱们还是围绕链路追踪这个话题,介绍另一款著名的。
2024-04-11 10:58:19 714
原创 【微服务-链路跟踪】SpringCloud Sleuth核心技术(下)
上篇文章我们介绍了SpringCloud Sleuth实现链路跟踪的原理以及微服务接入Sleuth的方法,但是通过控制台或日志输出很不方便运维来进行统计和分析,那么有什么方便的解决办法吗?当然有,我们还需要部署链路追踪数据的分析工具 ZipKin 来简化这个过程。是由推特开发的分布式链路追踪系统,用于对 Sleuth 产生的日志加以收集并采用可视化的数据对链路追踪进行分析与图表展示,,同时也需要在微服务内部持有Zipkin客户端才可以自动实现日志的推送与展示。
2024-04-11 10:57:32 808
原创 【微服务-链路跟踪】Spring Cloud Sleuth核心技术(上)
在前面几篇文章中,我们主要介绍了基于 Sentinel 如何对微服务架构提供限流、熔断保护。从本篇开始,我们继续完善微服务架构,通过介绍链路跟踪原理和基于SpringCloud Sleuth实现链路跟踪。
2024-04-08 14:15:57 922
原创 【微服务-Sentinel进阶】Sentinel进阶应用场景分享
我们已经实现了 test_flow_rule 接口的流控规则,在前面的文章中我们都是针对 RESTful 的接口进行限流熔断设置,但是在项目中有的时候是要针对某一个 Service 业务逻辑方法进行限流熔断等规则设置,这要怎么办呢?在 sentinel-core 客户端中为开发者提供了注解,该注解允许在程序代码中自定义 Sentinel 资源点来实现对特定方法的保护,下面我们以熔断降级规则为例来聊聊。熔断降级是指在某个服务接口在执行过程中频繁出现故障的情况下,在一段时间内将服务停用的保护措施。
2024-04-01 19:53:20 684
原创 【微服务-Sentinel】基于Nacos实现微服务架构的配置中心实战
前面的文章,我们介绍了Sentinel中熔断与限流的处理方式,了解了Sentinel对系统实施保护的原理。这篇文章我们来一起看一下,。因为构建Nacos配置中心正是Sentinel实现集群保护的基础所在。前面我们在 Dashboard 配置的一系列规则都要在生产环境中基于 Nacos 配置中心进行持久化存储。
2024-03-30 23:11:08 1051
原创 【微服务-网关】SpringCloud GateWay核心技术
在前面的文章中我们介绍了微服务网关的基础知识,了解了什么是网关,网关有什么作用,以及市面上有哪些成熟的网关产品,最后了解了网关的配置技巧。3、当过滤链前置(Pre)处理完毕后,请求会被 Gateway 转发到真正的微服务实例进行处理,微服务处理后会返回响应数据,这些响应数据会按原路径返回被 Gateway 配置的过滤链进行后置处理(Post),后置处理通常是对响应进行额外处理,例如:将处理过程写入日志、为响应附加额外的响应头或者流量监控等。前端应用发来的请求要被转发到哪个微服务上,是由谓词决定的;
2024-03-26 19:16:14 904
原创 Linux下安装MySQL 5.6
查看mysql57的安装源是否可用,如不可用请自行修改配置文件(/etc/yum.repos.d/mysql-community.repo)使mysql57下面的enable=1。安装成功后,我们可以看到/etc/yum.repos.d/目录下增加了以下两个文件。若有mysql其它版本的安装源可用,也请自行修改配置文件使其enable=0。
2024-03-26 19:12:55 227
原创 【微服务-Dubbo】Dubbo最佳实践
这里的实现逻辑比较简单,与前一篇文章实现思路基本一致,这里要注意实现类上需要额外增加@DubboService 注解,@DubboService 是 Provider 注解,说明该类所有方法都是服务提供者,加入该注解会自动将类与方法的信息在 Nacos 中注册为 Provider。在某电商平台的订单业务中,为了保证商品不超卖,我们需要在下单时查询商品库存,如有库存则创建订单,继续支付流程,如果库存为 0,则提示用户库存不足,无法下单。启动 order-service 微服务,并在注册中心中查看注册信息。
2024-03-21 10:56:25 491
原创 【微服务-OpenFeign】OpenFeign最佳实践
在某电商平台的订单业务中,为了保证商品不超卖,我们需要在下单时查询商品库存,如有库存则创建订单,继续支付流程,如果库存为 0,则提示用户库存不足,无法下单。前面我们讲了一下 Ribbon 和 RestTemplate 实现服务端通信的方法,Ribbon 提供了客户端负载均衡,而 RestTemplate 则对 http 进行封装,简化了发送请求的流程,两者互相配合,构建了服务间的高可用通信。到这里,我们 SpringCloud 集成 OpenFeign 的工作就完成了,大家可以按照自己的业务愉快的撸码了。
2024-03-17 15:40:30 912
原创 【微服务-Nacos】Nacos集群的工作原理及集群间数据同步过程
上篇文章我们介绍了Nacos集群的搭建方法及步骤,下面我们来看一下Nacos集群的工作原理,一共有两部分:Leader节点选举及各节点数据同步。
2024-03-14 10:13:07 1417
原创 【微服务-Nacos】看完这篇文章,Nacos集群部署还不会吗?
前面我们介绍了Nacos单机部署和微服务接入Nacos注册中心的操作步骤,但单机部署是分布式应用的大忌,在分布式架构中,任何单点都可能成为系统的瓶颈。因此关于Nacos部署,通常都是采用集群部署来为系统带来高可用性。这里我们来介绍下Nacos的集群部署。
2024-03-14 10:12:13 1005
原创 【微服务-Nacos】微服务如何接入Nacos?Nacos又是如何实现服务注册的?
上篇文章,我们了解了如何快速部署Nacos,但是现在的Nacos中是没有微服务注册的,那么下面我们来看一下如何构建一个微服务,并接入Nacos。
2024-03-07 21:25:31 972
原创 【微服务-Nacos】一篇文章教你搞定Nacos部署
本文介绍了在Linux环境下部署Nacos注册中心的过程,包括环境准备、安装JDK、下载和解压Nacos安装包、启动Nacos以及开启防火墙等步骤。部署完成后,可通过浏览器访问Nacos管理界面查看已注册的微服务列表。
2024-03-04 20:19:51 858
原创 【微服务】在Java体系中SpringCloud和SpringCloud Alibaba各通过哪些具体组件来实现微服务架构呢?
前面我们介绍了微服务架构的各个组件以及各组件的职责,在Java领域中,Spring可以说是无人不知无人不晓的,我们现代的企业级应用和互联网应用,很大一部分都是构建在Spring生态体系上的,同样,实现微服务架构的SpringCloud也是在Spring基础上生根发芽的。
2024-03-03 17:03:32 925
原创 【微服务】微服务架构包含哪些组件、各个组件又承担什么职责呢?
前面的文章里我们介绍了微服务架构的一些基础知识以及特点,也提到了国产的微服务架构标准实现SpringCloud Alibaba,聊了这么多,还是没有开始阐述各组件在Java技术体系中的具体实现。那从这里开始,我们开始全面认识微服务架构在Java体系中依托哪些组件实现的。相对于单体架构的简单粗暴,微服务的核心是将应用打散,形成多个独立提供的微服务,虽然从管理与逻辑上更符合业务需要。
2024-02-29 17:28:16 518
原创 【微服务】聊聊设计微服务架构带来的新挑战
前面的文章中,我们介绍了微服务架构和传统分布式架构的区别,以及目前国内比较成熟的微服务架构框架SpringCloud Alibaba,同时也介绍了什么是微服务、他有哪些特点。尽管微服务架构有着高度独立的软件模块、单一的业务职责、可灵活调整的技术栈等优势,但也不能忽略它所带来的弊端。本篇文章,我们从网络、性能、运维、组织架构和集成测试五个方面来聊一下设计微服务架构需要考虑哪些问题,对设计有哪些挑战呢?
2024-02-26 20:57:38 504
原创 【微服务】什么是微服务架构?它又有哪些特点呢?
首先,到底什么是微服务架构呢?微服务这个词出现的年代其实并不久远,在2011年的一场架构师研讨会上,微服务的概念第一次被人提及,但当时并未给出微服务的明确定义。后来随着技术的不断发展,在2014年3月份,有一篇博客发表的关于微服务特点的文章,对微服务的概念做了明确的定义。所谓微服务架构风格是一种将单机应用程序开发为一组小型服务的方法,每个小服务运行在自己的进程中,并以轻量级的机制来进行通信。
2024-02-26 13:22:12 894
原创 【微服务】国内微服务生态标准-SpringCloud Alibaba
大家可能会有疑问,在微服务架构技术上,springcloud官方生态已经很完善了,为什么还要去了解SpringCloud Alibaba呢?其实微服务表面上看起来是将整体应用打散为小服务,再通过网络通信进行数据联通,最终将处理结果展示给用户这种很简单的处理,实际上处理起来确很复杂。比如使用微服务架构后,我们需要考虑数据一致性问题、网络通信故障、限流与熔断机制、调用链路跟踪、集群监控、甚至用户登录和权限管理(SSO)都是全新的挑战。如果这些问题全部都要软件公司自己解决那显然是行不通的。
2024-02-24 11:51:24 855
原创 快乐学Python,通过用户和订单的数据分析,制定营销策略【实战】
在互联网行业中,电子商务领域绝对是数据分析用途最多的地方,各大电商平台都依赖数据分析帮助其挖掘用户订单增长机会。比如某宝的随手买一件,核心思路也就是根据用户的日常浏览内容及停留时间,以及订单的关联度来进行推荐的。
2024-02-19 19:42:16 868
原创 快乐学Python,如何正确使用pandas处理时间类型的数据?
因为时间的数据计算比较特殊,涉及到月份的天数、分钟折算成秒,需要除以60,小时折算成分钟,也需要除以60,如果自己手动计算,逻辑就会比较复杂。同时,根据数据记录方式的不同,时间的保存格式也是不同的。如果是中文环境,类似于“2024 年 2 月 1 日”这样的格式,也同样是可以解析的,我们可以通过 to_datetime 的自定义格式字符串来解析。在 Python 中,对时间数据的解析本质上就是将数据先转换为 pandas 的 Timestamp 类型,因为只有转换后才能进行后续的操作。
2024-02-01 18:01:31 835
原创 快乐学Python,如何对数据进行清洗?(缺失值处理和重复值删除)
数据清洗是处理缺失值和异常值的重要步骤。通过甄别缺失值,可以使用isna函数查询并聚合缺失的数据。处理缺失值的方式包括删除和补全,可以使用dropna和fillna函数。此外,还介绍了推测插值和重复值处理的方法。
2024-01-28 18:19:29 848
原创 快乐学Python,DataFrame的基本操作
在上一篇文章中,我们了解了如何使用 pandas 的函数来从多种数据源:csv、excel 和 html 网页。其中不管是哪一种数据读取的方式,最终返回的都是一个 DataFrame 对象。对于 DataFrame 对象,我们只是简单将其打印出来,这一篇我们来学习围绕 DataFrame 的基本操作(添加行、列,删除行、列,排序等),除了 DataFrame,也会介绍另外一个重要的 pandas 数据结构: Series。
2024-01-26 23:08:58 845
原创 快乐学Python,如何使用Python处理文件(csv、Excel、html)数据?
在前面的文章中,我们了解了Python爬虫的一些内容。截止到现在,我们已经可以将需要的数据通过爬虫获取,并保存到CSV文件中。在有了数据集后,接下来我们就开始了解如何将数据集的内容加载到Python中。虽然在之前也有了解简单的读取csv数据。Python 作为数据分析领域的头号种子选手,自然不会只有 csv 模块这样的初级工具。这个部分我们将会学习表格类型的大数据处理神器:pandas.pandas 不仅可以从多种不同的文件格式读取数据,还有各种各样的数据处理的功能。
2024-01-22 17:40:27 383
原创 快乐学Python,使用Python为电视剧主演生成词云
上篇文章我们串联了爬虫技术的几个基础环节,将电视剧的信息保存到了 csv 文件。这里,我们做个小实验:将主演信息生成词云。(其他文章可看专栏文章)
2024-01-19 17:26:40 352
原创 快乐学Python,使用爬虫爬取电视剧信息,构建评分数据集
在前面几篇文章中,我们了解了Python爬虫技术的三个基础环节:下载网页、提取数据以及保存数据。这一篇文章,我们通过实际操作来将三个环节串联起来,以国产电视剧为例,构建我们的电视剧评分数据集。
2024-01-19 09:46:08 713
原创 快乐学Python,如何使用爬虫从网页中提取感兴趣的内容?
前面的内容,我们了解了使用urllib3和selenium来下载网页,但下载下来的是整个网页的内容,那我们又怎么从下载下来的网页中提取我们自己感兴趣的内容呢?这里就需要Python的另一个库来实现-BeautifulSoup。BeautifulSoup 是一个 Python 库,用于分析 HTML。它和它的名字一样,用起来非常“香”。今天我们通过使用 BeautifulSoup 去从上一篇文章案例中下载到的 html 文件:jiandan.html 中提取所有新闻的标题。
2024-01-15 16:25:10 897
原创 快乐学Python,数据分析之使用爬虫获取网页内容
在上一篇文章中,我们了解了爬虫的原理以及要实现爬虫的三个主要步骤:下载网页-分析网页-保存数据。下面,我们就来看一下:如何使用Python下载网页。
2024-01-14 18:48:11 1656 2
原创 快乐学Python,数据分析之获取数据方法「公开数据或爬虫」
数据获取是数据分析的第一步,可以通过获取现成的数据集或构建数据集。现成的数据集包括比赛数据集和行业数据集,而构建数据集则可以使用Python爬虫技术从互联网上抓取网页信息。在使用爬虫技术时,应注意适度降低抓取频率,避免给相关网站服务器造成负担,同时抓取到的数据仅作自己分析使用,不可传播或销售,以免违法
2024-01-10 11:03:11 1414
原创 快乐学Python,Python基础之组织代码「类与对象」
类与对象本质上是抽象与具象的关系,对象在类的基础上进行了适当的具象。所以在某个抽象关系中的对象也可能会成为另一个抽象关系中的类。
2024-01-08 21:29:06 874
原创 快乐学Python,Python基础之代码复用?「函数」
看到函数,可能你首先会条件反射地想到数学中的“函数”,但 Python 中的函数和数学中的不是一回事,不需要联合起来理解。Python 中的函数简单来说就是一段有名字的代码块。通过函数的机制,我们可以给我们希望重复使用的代码块起个名字,这样我们之后要用这个代码块的时候,就不需要重新写一遍一模一样的代码块,而只需要简单写一次之前给代码块起的名字即可。
2024-01-06 16:56:22 917
建设思路-政务领域-智慧应急、应急指挥平台
2023-02-20
软件开发-nginx-文件服务器配置
2023-01-30
jsp页面使用三元表达式来动态控制性别radio选中问题
2016-12-21
myeclipse8.5集成hibernate连接sqlserver报错。
2016-12-19
使用Java连接sqlserver报错
2016-12-15
使用ionic start myApp tabs 时出错
2016-06-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人