微服务架构及中间件
文章平均质量分 90
莫凡的博客
这个作者很懒,什么都没留下…
展开
-
MongoDB 介绍
聚合管道是由多个阶段组成的流水线,每个阶段对输入数据进行特定的操作,并将结果传递给下一个阶段。聚合管道可以处理大量的数据,并提供了丰富的操作,如过滤、分组、排序、计算聚合值等。它采用了灵活的数据模型,以类似 JSON 的文档形式存储数据,具有高可扩展性、高性能和丰富的功能。在 MongoDB 中,聚合管道是一种强大的工具,用于对数据进行复杂的分析和转换。通过灵活运用 MongoDB 的聚合管道,可以对数据进行各种复杂的分析和转换,满足不同的数据分析需求。的集合,包含传感器的元数据信息(如位置)。原创 2024-10-12 15:05:25 · 522 阅读 · 0 评论 -
HBASE介绍和使用
HBase 是一个开源的、分布式的、面向列的非关系型数据库,它构建在 Hadoop 文件系统(HDFS)之上,为大数据存储和处理提供了高可靠性、高可扩展性和高性能的解决方案。在这个示例中,我们模拟了获取服务器标识和 CPU 指标值的过程,然后根据当前时间生成行键,并将数据插入到 HBase 表中。通过以上方法,就可以使用 HBase 按时间窗方式每 5 分钟记录和存储 CPU 指标数据,并进行查询和分析。按时间窗方式记录,每5分钟记录一次CPU指标,hbase实现。与 Hadoop 生态系统集成。原创 2024-10-12 14:56:32 · 312 阅读 · 0 评论 -
Elasticsearch介绍和使用
与传统的正向索引(如书籍的目录,根据内容的位置来查找内容)不同,倒排索引是根据内容来查找其位置。在文本搜索领域,倒排索引将每个词(或称为“词条”“术语”)与包含该词的文档列表相关联。在实际应用中,可以根据具体情况调整聚合的设置和使用更复杂的方法来获得更准确的结果。在这个查询中,我们使用了百分位聚合,指定了要计算的字段为“price”,并且只计算 50%这个百分位,即中位数。这里的“50.0”对应我们请求的 50%百分位,值为 30,表示近似的中位数价格是 30。原创 2024-10-12 14:41:39 · 445 阅读 · 0 评论 -
Feign的使用
Feign 实现负载均衡的原理是通过内置的 Ribbon 来实现的。当使用 Feign 调用其他服务时,Ribbon 会根据配置的负载均衡策略从服务列表中选择一个实例进行调用。这样,当使用 Feign 调用名为“service-b”的服务时,就会按照轮询的方式在多个实例之间进行负载均衡。通过 Feign 和 Ribbon 的结合,可以轻松地实现微服务之间的调用和负载均衡,提高系统的可靠性和性能。通过以上步骤,Feign 就可以实现熔断功能,在服务出现故障时快速返回备用结果,提高系统的稳定性和可靠性。原创 2024-10-12 12:05:54 · 654 阅读 · 0 评论 -
微服务架构高可用性
以下是一些确保微服务架构高可用性的方法:原创 2024-10-11 00:32:01 · 895 阅读 · 0 评论 -
springboot starter机制
starter 作用:1、引入相关的jar ; 2、自动完成bean配置bean的依赖关系自动处理自动配置--条件依赖注解:@ConditionalOnClass、@ConditionalOnMissingClass@ConditionalOnBean、@ConditionalOnMissingBean@ConditionalOnProperty@ConditionalOn...原创 2019-09-15 09:12:36 · 270 阅读 · 0 评论 -
Springboot 中application.yml和bootStrap.yml 的加载顺序
1. 若application.yml和bootStrap.yml在同一目录下,则bootStrap.yml的加载顺序要高于application.yml,即bootStrap.yml会优先被加载。原理:bootstrap.yml 用于应用程序上下文的引导阶段。bootstrap.yml 由父Spring ApplicationContext加载...原创 2019-09-15 09:27:51 · 2838 阅读 · 0 评论 -
SpringBoot之 (三)@Bean注解
前言@Bean是一个方法级别上的注解,主要用在@Configuration注解的类里,也可以用在@Component注解的类里。添加的bean的id为方法名定义bean下面是@Configuration里的一个例子@Configurationpublic class AppConfig { @Bean public TransferService transf...原创 2018-12-17 00:28:26 · 14873 阅读 · 0 评论 -
SpringBoot之(二)mybatis整合和声明式事务
前言1、mybatis的集成2、通过@Transactional实现声明式事务引入依赖POM文件引入依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artif...原创 2018-12-16 08:43:06 · 896 阅读 · 0 评论 -
Spring Boot 集成MyBatis
在集成MyBatis前,我们先配置一个druid数据源。Spring Boot 集成druid druid有非常多个配置选项,使用Spring Boot 的配置文件能够方便的配置druid。在application.yml配置文件里写上:spring: datasource: name: test url: jdbc:mysql://19...原创 2018-06-06 22:32:36 · 271 阅读 · 0 评论 -
spring4.0之:@Configuration的使用
从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。注意:@Configurati...原创 2019-09-15 11:56:27 · 431 阅读 · 0 评论 -
SpringBoot之(一)Spring Boot配置详解
一、@Value赋值当我们创建一个springboot项目的时候,系统默认会为我们在src/main/java/resources目录下创建一个application.properties。个人习惯,我会将application.properties改为application.yml文件,两种文件格式都支持。在application.yml自定义一组属性: my: name...原创 2018-12-16 08:09:09 · 687 阅读 · 1 评论 -
CentOS7 安装 zookeeper
ZooKeeper的安装模式分为三种,分别为:单机模式(stand-alone)、集群模式和集群伪分布模式。一、下载zookeeper 下载zookeeper到/home/hadoop,并且解压wget http://apache.fayea.com/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gztar -zxvf zookeep原创 2015-09-01 16:52:47 · 2423 阅读 · 0 评论 -
dubbo-admin部署
一、dubbo的下载下载地址:https://github.com/alibaba/dubbo二、Eclipse导入dubbo工程程序可以通过Existing Maven Projects导入项目。选择dubbo-admin工程,右键选择Export...,导出WAR文件三、在tomcat导入dubbo-admin.war文档在然后到原创 2015-09-02 12:21:47 · 421 阅读 · 0 评论 -
SpringCloud之Eureka(注册中心集群篇)(二)
前面我们介绍了Spring Cloud Eureka的简单使用。 但前面的例子中,这个服务注册中心是单点的,显然这并不适合应用于线上生产环境。服务注册中心是服务的中心位置,如果服务注册中心崩了,显然是灾难性的,不符合微服务架构的高可用性特点。 那么如何搭建高可用的服务注册中心集群呢?我们可以通过Eureka Server互相注册的方式来实现高可用的部署。所以我们仅仅需要在配置文件中配置defau原创 2017-12-30 18:06:55 · 381 阅读 · 0 评论 -
Spring Boot 源码分析
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。Spring boot的特点创建独立的Spring应用程序嵌入的T...原创 2018-11-27 01:57:01 · 14325 阅读 · 1 评论 -
Spring和Spring Boot2.0源码阅读环境搭建和结构
一:Spring第一步:安装git和gradle,以及Java8,并配置环境变量。 第二步:打开gitbash,cd到你要放置spring源码工程的目录,输入:git clone https://github.com/spring-projects/spring-framework.git 等待下载完毕。或者下载指定的release版本解压缩。 第三步:预编译spring-...原创 2018-11-23 22:57:01 · 647 阅读 · 0 评论 -
使用Eureka做服务发现(一)
使用Eureka做服务发现 Zookeeper做注册中心的缺陷Peter Kelley(个性化教育初创公司Knewton的一名软件工程师)发表了一篇文章说明为什么ZooKeeper用于服务发现是一个错误的做法,他主要提出了三个缺点[1]:ZooKeeper无法很好的处理网络分区问题,当网络分区中的客户端节点无法到达Quorum时,会与ZooKeeper失去联系,从而也就无法使用其服务发现机制。转载 2017-12-30 08:28:28 · 3357 阅读 · 0 评论 -
【SpringCloud实践】之断路器:Hystrix
一、服务雪崩效应基础服务的故障导致级联故障,进而造成了整个分布式系统的不可用,这种现象被称为服务雪崩效应。服务雪崩效应描述的是一种因服务提供者的不可用导致服务消费者的不可用,并将不可用逐渐放大的过程。服务雪崩效应形成的原因1、服务提供者不可用硬件故障程序Bug缓存击穿用户大量请求2、重试加大流量用户重试代码逻辑重试3、服务调用者不可用同步等待造成的资源耗尽服...原创 2018-12-05 01:28:46 · 223 阅读 · 0 评论 -
SpringBoot之 (四) Redis集成
前言这篇文章主要介绍springboot整合redis.引入依赖:在pom文件中添加redis依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId...原创 2018-12-19 00:56:37 · 230 阅读 · 0 评论 -
2019年DevOps发展的五大趋势
2019年DevOps发展的五大趋势2018.12.23版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。DevOps在过去几年中发展非常迅猛,它将开发和IT运营功能结合在一起,以更好的沟通和更高的协作形式为各个实施的组织带来了可观的效益。即将跨入2019年,DevOps有哪些发展方向呢?我认为,DevOps在2019年发展有五大趋势。趋势1:从DevOps到NoOps...转载 2018-12-25 06:05:00 · 818 阅读 · 0 评论 -
kafka集群搭建
文章目录1、 准备3台机器2、安装Zookeeper3、安装scala4、安装kafka5、kafka和Zookeeper1、 准备3台机器server1 192.168.16.130server2 192.168.16.131server3 192.168.16.1322、安装Zookeeper第一步:下载Zookeeper摈弃解压tar -zxvf zookeeper-3.4.1...原创 2019-09-04 01:53:17 · 184 阅读 · 0 评论 -
Ribbon(一)之:RestTemplate简单使用及Ribbon集成
RestTemplate是Spring用于同步client端的核心类,简化了与http服务的通信,并满足RestFul原则,程序代码可以给它提供URL,并提取结果。默认情况下,RestTemplate默认依赖jdk的HTTP连接工具。当然你也可以 通过setRequestFactory属性切换到不同的HTTP源,比如Apache HttpComponents、Netty和OkHttp。Res...原创 2019-09-08 10:41:36 · 3407 阅读 · 0 评论 -
Ribbon(二)之:Ribbon之负载均衡策略
Load Balance负载均衡是用于解决一台机器(一个进程)无法解决所有请求而产生的一种算法。像nginx可以使用负载均衡分配流量,ribbon为客户端提供负载均衡,dubbo服务调用里的负载均衡等等,很多地方都使用到了负载均衡。使用负载均衡带来的好处很明显:当集群里的1台或者多台服务器down的时候,剩余的没有down的服务器可以保证服务的继续使用使用了更多的机器保证了机器的良性使...原创 2019-09-10 22:57:47 · 636 阅读 · 0 评论 -
高并发架构系列:Redis缓存和MySQL数据一致性方案详解
需求起因在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。这个业务场景,主要是解决读数据从Redis缓存,一般都是按照下图的流程来进行业务操作。读取缓存步骤一般没有什么问题,但是一旦涉及到数据更新:数据库和缓存更新,就容易出现缓存(Redis)和数...原创 2019-09-15 12:33:11 · 1041 阅读 · 0 评论 -
微服务编排之道
目录:一、微服务需要编排吗?二、微服务编排的流程三、微服务编排的一致性四、微服务编排的监控工具支撑 一、微服务需要编排吗? 微服务是一种新的软件架构风格。在微服务体系结构中,可以将应用分解为多个较小服务, 各个服务可以由独立的团队进行开发、部署。① (图片来源于:https://www.nginx.com/blog/introduction-to-mic...转载 2018-12-17 01:32:10 · 918 阅读 · 0 评论