自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 Hystrix面试总结

为什么要使用断路器Hystrix?在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用(RPC)。为了保证其高可用,单个服务有必须集群部署。由于网络原因或者自身的原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会出现网络延迟,此时若有大量的网络涌入,会形成任务累计,导致服务瘫痪,甚至导致服务“雪崩”。为了解决这个问题出现了短路器,相当于现实生活中...

2020-03-26 21:35:21 9447

原创 设计模式七大原则-单一职责原则

基本介绍对类来说的,即一个类应该只负责一项职责,如果A负责两个不同职责;职责1,职责2,当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为A1,A2。反例:public class SingleResponsibility { public static void main(String[] args) { // TODO Auto-gen...

2020-03-31 23:24:04 144

原创 HTTP协议概述

什么是协议呢?协议其实就是我们约定的规则,干什么都有干什么的规则,工作有劳动合同,买房有买房的规则。什么是网络协议呢?网络协议就是数据在网络上传输的规则;http、pop3、pop、imap、ftp,流媒体协议。HTTP协议?HTTP(htyper text transform protocal)超文本传输协议:如何在互联 网上传输超文本,HTML:(htype...

2020-03-29 21:35:56 161

原创 主要的电商模式

B2B模式B2B ( Business to Business)是指进行电子商务交易的供需双方都是商家(或企业、公司),她(他)们使用了互联网的技术或各种商务网络平台,完成商务交易的过程。电子商务是现代 B2B marketing的一种具体主要的表现形式。案例:阿里巴巴、慧聪网C2C模式C2C即 Customer(Consumer) to Customer(Consumer...

2020-03-29 20:31:28 610

原创 Nacos 与其他注册中心对比

Nacos 很强大,是支持 CP 和 AP 切换的。一般C是所有节点在同一时刻看到的数据是一致的;而A的定义是所有的请求都会收到响应。何时选择使用何种模式?一般来说,如果不需要存储服务级别的信息且服务实例是通过nacos-client注册,并能够保持心跳上报,那么就可以选择AP模式。当前主流的服务如SpringCloud和Dubbo服务,都适用与AP模式,AP...

2020-03-29 17:00:43 1430 2

原创 Nacos 入门安装

Nacos 名字由来前四个字母分别为Naming和Configuration的前两个字母,最后的s为Service。(注册配置服务)安装 Nacosgithub:https://github.com/alibaba/Nacos 官方文档:https://nacos.io/zh-cn/index.html安装环境并运行本地java8 +Maven 环境 下载 ...

2020-03-29 16:09:39 133

原创 SpringCloud Alibaba入门简介

SpringCloud Alibaba 能做什么?服务限流降级:默认支持Servlet、Feign、RestTemplate、Dubbo和RocketMQ限流降级功能的接入,可以在运行时通过控制台实时修改限流降级规则,还支持查看限流降级Metrics监控。 服务注册与发现:适配SpringCloud服务注册与发现标准,默认集成了Ribbon的支持。 分布式配置管理:支持分布式系统中的外部...

2020-03-29 16:01:56 174

原创 SpringCloud Sleuth入门介绍

为什么要用SpringCloud Sleuth?微服务的现状随着业务的发展,单体架构变为微服务架构,并且系统规模也变得越来越大,各微服务间的调用关系也变得越来越复杂。多服务协同工作在微服务的应用中,一个由客户端发起的请求在后端系统中会经过多个不同的微服务调用来协同产生最后的请求结果复杂的调用链条容易出错在复杂的微服务架构系统中,几乎每一个前端请求都会形成一个复杂的分布式服...

2020-03-29 12:46:20 204

原创 SpringCloud Stream 分组消费与持久化

什么是SpringCloud Stream?Spring Cloud Stream 是一个构建消息驱动微服务的框架。应用程序通过inputs或者outputs来与 Spring Cloud Stream 中binder交互,通过我们配置来 binding ,而 Spring Cloud Stream 的 binder 负责与消息中间件交互。所以,我们只需要搞清楚如何与 Spring...

2020-03-29 12:12:49 744

原创 SpringCloud Config分布式配置中心

SpringCloud Config能解决什么问题?微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要有配置信息才能运行,所以一套集中式的、动态的配置管理设施是必不可少的。SpringCloud提供了ConfigServer来解决这个问题。SpringCloud Config为微服务架构中的微服务提供集中化的外部配置支持...

2020-03-28 20:27:48 94

原创 Hystrix服务熔断

熔断机制概念熔断机制是应对雪崩效应的一种微服务链路保护机制。当扇出链路的某个微服务出错不可用或者响应时间太长是,会进行服务的降级,而且熔断该节点微服务的调用,快速返回错误的响应信息。当检测到节点微服务调用响应正常后,恢复调用链路。在springcloud框架里,熔断机制通过Hystrix实现,Hystrix会监控微服务间调用的状况。当失败的调用到一定阈值,缺省是5秒内20次调用失败...

2020-03-27 09:28:49 238

原创 Hystrix服务降级实现方式

服务降级后有三种方法调用第一种在方法头上用注解实现, @HystrixCommand(fallbackMethod = "paymentTimeOutFallBackMethod", commandProperties = { @HystrixProperty(name = "execution.isolation.thread.timeoutInMilli...

2020-03-26 22:10:53 335

原创 Feign是什么?

Feign能干什么?Feign旨在是编写Java Http客户端变得更加容易。之前使用Ribbon+RestTemplate时,利用RESTTemplate请求的封装处理,形成了一套模板化的调用方法。但是在实际开发中,有偶遇对于服务依赖的调用可能不止一处,往往一个借口会被多处调用,所以通常都会针对每个微服务自行封装一些客户端类来包装这些依赖服务的调用。所以,Feign在此基础上做了进一步封...

2020-03-26 13:26:37 3575

原创 什么是ribbon?

springcloud ribbon是基于Netflix ribbon实现的一套客户端负载均衡的工具。简单的说,Ribbon是Netflixf发布的开源项目,主要功能是提供醍醐的的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如:连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则...

2020-03-26 12:03:07 2558

原创 Eureka、Zookeeper、Consul的异同点

三者区别:组件名 语言 CAP 服务监控检查 对外暴露接口 springcloud集成 Eureka Java AP 可配支持 HTTP 已集成 Consul Go CP 支持 HTTP/DNS 已集成 Zookeeper Java CP 支持 客户端 已集...

2020-03-25 14:16:11 113

原创 consul使用

Consul简介:Consul是一套开源的分布式服务发现和配置管理系统,由HashiCorp公司用Go语言开发。提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网络,总之Consul提供了一种完整的服务网格解决方案。它具有很多优点。包括:基于 raft 协议,比较简洁;支持健康检查,同时支持 HTTP 和...

2020-03-24 21:17:17 214

原创 zookeeper代替eureka与springcloud整合

1、创建服务1.2 引入zookeeper依赖,代替eureka<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"...

2020-03-24 20:52:19 159

原创 什么是Eureka?

什么是服务治理?springcloud封装了Netflix公司开发的Eureka模块来实现服务治理。在传统的rpc远程调用框架中,管理每个服务于服务之间的依赖关系比较复杂,管理比较复杂,所以需要使用服务治理,管理服务与服务之间得依赖管理,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。什么是服务注册与发现?Eureka采用C/S的设计架构,Eureka server 作为服...

2020-03-24 20:44:55 3616 1

原创 RestTemplate

RestTemplate提供了多种便捷访问远程http服务的方法,是一种简单便捷的访问restful服务模板类,是spring提供的用于访问Rest服务的客户端模板工具类使用方法:使用RestTemplate访问restful接口非常简单粗暴无脑,(url,requestMap,responseBean.class)这三个参数分别代表:REST请求地址、请求参数、HTTP响应转换呗...

2020-03-23 21:51:52 187 1

原创 Maven中dependencyManagement和dependencies区别?

Maven使用dependencyManagement元素提供了一种管理依赖版本号的方式。通常会在一个组织或项目的最顶层的父pom中看到dependencyManagement元素。使用pom.xml中的dependencyManagement元素能让所有在子项目中引用一个依赖不用显示的列出版本号。Maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement...

2020-03-23 20:13:56 331

原创 什么是微服务架构?

微服务架构是一种架构模式,他提倡将单一应用程序划分成一组小的服务,服务直接相互协调、相互配合,为用户提供最终价值。每个服务运行在其中独立的进程中,服务于服务间采用轻量级的通信机制相互协作(SpringCloud通常是基于HTTP协议的Rsetful API)。每个服务都围绕着具体业务进行架构,并且能够被独立的部署到生产环境、类生产环境等。另外,应道尽量避免统一的、集中式的服务管理机制,对具体的一个...

2020-03-23 19:25:46 361

原创 SpringCloud版本对应以及选择

springcloud版本是需要和springboot版本对应的,要不然会出现一大堆的问题。首先查看springcloud官网:springcloud官网现在springcloud最新是hoxton,对应的springboot的版本为2.2.x。也可以查看其它对应的版本。也可以访问https://start.spring.io/actuator/info ,然后会给你显示一个js...

2020-03-23 19:08:34 1201

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除