
分布式
笙箫123
梦想还是要有的,万一实现了呢
展开
-
windows下安装nacos
1、下载下载地址:https://github.com/alibaba/nacos/releases/tag/1.1.0选择这个zip下载。下载完毕后我们可以看看目录结构:这里的bin目录里面有windows启动文件startup.cmd,我们双击就能启动了,和大多数windows进程类似。启动后会有一个cmd窗口去打印命令并启动。这里我们启动成功了,启动失败后窗口...原创 2019-10-15 17:37:37 · 53178 阅读 · 6 评论 -
分布式事务解决方案2pc
为解决分布式系统的数据一致性问题出现了两阶段提交协议,两阶段提交由 协调者和参与者组成,共经过两个阶段和三个操作,部分关系数据库如Oracle、MySQL支持两阶段提交协议,这里讲解关系数据库两阶段提交协议。 2PC协议流程图: 1)第一阶段:准备阶段(prepare) 协调者通知参与者准备提交订单,参与者开始投票。 协调者完成准备工作向协调者回应Yes。 2)第二阶段:提...原创 2019-09-22 16:05:37 · 653 阅读 · 0 评论 -
SpringBoot使用jta+atomikos解决分布式事务(2pc)
jta:Java Transaction API,即是java中对事务处理的api即api即是接口的意思atomikos:Atomikos TransactionsEssentials 是一个为Java平台提供增值服务的并且开源类事务管理器1、pom依赖2、application.properties---->注意前缀# Mysql 1mysql.datasource...转载 2019-09-22 16:08:51 · 752 阅读 · 0 评论 -
分布式事务解决方案之消息队列
本方案是将分布式事务拆分成多个本地事务来完成,并且由消息队列异步协调完成,如下图: 下边以下单减少库存为例来说明: 1、订单服务和库存服务完成检查和预留资源。 2、订单服务在本地事务中完成添加订单表记录和添加“减少库存任务消息”。 3、由定时任务根据消息表的记录发送给MQ通知库存服务执行减库存操作。 4、库存服务执行减少库存,并且记录执行消息状态(为避免重复执行消息,在执行...原创 2019-09-26 19:06:08 · 603 阅读 · 0 评论 -
Java支付宝支付开发流程与原理【沙箱环境】【分布式事务解决方案】
不管是支付宝支付,还是微信支付,还是银联支付等,大部分的支付流程都是相似的,学会了其中的思想,那么其他支付方式也就很简单了。支付宝支付流程:1、A网站以POST请求方式提交参数给支付宝接口,在支付宝端进行支付处理。POST请求方式一定程度下保证了安全性,即在url上看不到参数,但可以在浏览器开发者工具中可以看到参数,为防止篡改,则可以采用一些加密协议,如:https、加签名、加密手段(M...转载 2019-09-28 14:55:09 · 884 阅读 · 0 评论 -
高并发解决方案相关面试题
什么是DNS解析域名DNS域名解析就是讲域名转化为不需要显示端口(二级域名的端口一般为80)的IP地址,域名解析的一般先去本地环境的host文件读取配置,解析成对应的IP地址,根据IP地址访问对应的服务器。若host文件未配置,则会去网络运营商获取对应的IP地址和域名.什么是NginxNginx是一个高级的轻量级的web服...原创 2020-04-15 10:17:14 · 33204 阅读 · 4 评论 -
基于redis分布式锁实现“秒杀”
最近在项目中遇到了类似“秒杀”的业务场景,在本篇博客中,我将用一个非常简单的demo,阐述实现所谓“秒杀”的基本思路。业务场景所谓秒杀,从业务角度看,是短时间内多个用户“争抢”资源,这里的资源在大部分秒杀场景里是商品;将业务抽象,技术角度看,秒杀就是多个线程对资源进行操作,所以实现秒杀,就必须控制线程对资源的争抢,既要保证高效并发,也要保证操作的正确。一些可能的实现刚才提到过,实现秒杀...转载 2019-10-05 11:14:09 · 639 阅读 · 0 评论 -
分布式全局自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移到Cassandra,因为Cassandra没...转载 2019-10-05 11:28:47 · 593 阅读 · 0 评论 -
Windows下安装Apollo配置中心
1.下载网盘下载地址:链接: https://pan.baidu.com/s/1LqmuFUEWeWKkn2aYd-fqnA 提取码: tyuk下载完毕后解压文件,可以看下目录结构这里的sql目录文件里面放入了两个sql执行语句的sql文件,我们可以去本地数据库新建两个数据库取名为:ApolloPortalDB和ApolloConfigDB然后导入sql文件。我们可...原创 2019-10-06 21:42:49 · 2285 阅读 · 0 评论 -
Api网关服务SrpingCloud Zuul
网关分类开放Api开放api(openApi) 企业需要将自身数据、能力等作为开发平台向外开放,通常会以rest的方式向外提供,最好的例子就是淘宝开放平台、腾讯公司的QQ开发平台、微信开放平台。 Open API开放平台必然涉及到客户应用的接入、API权限的管理、调用次数管理等,必然会有一个统一的入口进行管理,这正是API网关可以发挥作用的时候。微服务网关微服务的概念最早在2...原创 2019-09-15 13:43:54 · 264 阅读 · 0 评论 -
声明式服务调用SpringCloud Feign
feign介绍Feign客户端是一个web声明式http远程调用工具,提供了接口和注解方式进行调用。环境搭建Maven依赖信息 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-op...原创 2019-09-14 22:59:53 · 228 阅读 · 0 评论 -
分布式Session一致性问题解决方案
分布式Session一致性问题1、使用Nginx反向代理,即IP绑定,同一个ip只能在同一个机器上访问2、使用数据库,但性能不高3、tomcat内置了对session同步的支持,但可能会产生延迟4、使用Spring-Session框架,相当于把session放到redis中5、使用token令牌代替session...原创 2019-08-28 22:18:18 · 395 阅读 · 0 评论 -
zookeeper学习
什么是ZooKeeperZooKeeper是Java语言编写的开源框架,用以协调分布式的一个工具。ZooKeeper存储结构与特性类似于树形结构,同一层节点名称不能重复。节点类型分为临时节点与持久节点Zookeeper以节点方式进行存储,类似于xml树状结构;a、节点又分为节点名称(全路径不能重复)和 节点值b、节点类型有持久节点(持久化在硬盘上)和临时节点(会话...原创 2019-08-29 23:02:36 · 862 阅读 · 0 评论 -
网站架构演变过程
传统架构传统的SSH架构,分为三层架构 web控制层、业务逻辑层、数据库访问层。传统架构也就是单点应用,就是大家在刚开始初学JavaEE技术的时候SSH架构或者SSM架构,业务没有进行拆分,都写同一个项目工程里面,一般是适合于个人或者是小团队开发。这种架构模式,一旦有一个模块导致服务不可用,可能会影响整个项目。分布式架构分布式架构基于传统架构演变过来,将传统的单...原创 2019-08-30 23:42:23 · 402 阅读 · 0 评论 -
Spring cloud学习相关
什么是SpringCloudSpringCloud是微服务的一种解决方案,依赖SpringBoot实现。包含注册中心(eureka)、客户端负载均衡(Ribbon)、网关(zuul)、分布式锁、分布式会话等。为什么要使用SpringCloudSpringCloud是一套非常完整的微服务解决方案,俗称“微服务全家桶”,几乎内置了微服务所使用的各种技术,可以不必集成第三方依赖。...原创 2019-08-31 23:13:41 · 195 阅读 · 0 评论 -
分布式消息系统与中间件之相关面试题
消息中间件产生的背景传统的Web项目采用http协议基于请求和响应传输信息,请求发出后必须等待服务器端响应,如果服务器端不会及时响应客户端会一直等待。Http协议同步接口调用失败了怎么做?采用消息补偿机制重新发送请求。消息队列异步通讯与同步通讯区别同步通讯是客户端直接将请求发往服务器,等待服务器处理完请求并返回响应信息后才会继续向下执行。消息队列独立于客户端和服务器...原创 2019-09-05 20:42:17 · 604 阅读 · 0 评论 -
SpringCloud中Ribbon客户端负载均衡器
客户端负载均衡器在SpringCloud中Ribbon负载均衡客户端,会从eureka注册中心服务器端上获取服务注册信息列表,缓存到本地。让后在本地实现轮训负载均衡策略。Ribbon与Nginx区别服务器端负载均衡Nginxnginx是客户端所有请求统一交给nginx,由nginx进行实现负载均衡请求转发,属于服务器端负载均衡。既请求有nginx服务器端进行转发...原创 2019-09-08 20:01:57 · 201 阅读 · 0 评论 -
服务治理SpringCloud之Eureka
服务治理SpringCloud Eureka什么是服务治理在传统rpc远程调用中,服务与服务依赖关系,管理比较复杂,所以需要使用服务治理,管理服务与服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。服务注册与发现在服务注册与发现中,有一个注册中心,当服务器启动的时候,会把当前自己服务器的信息 比如 服务地址通讯地址等以别名方式注册到注册中心上。另一方...原创 2019-09-09 20:01:42 · 194 阅读 · 0 评论 -
漫谈微服务架构
什么是微服务微服务架是从SOA架构演变过来,比SOA架构粒度会更加精细,让专业的人去做专业的事情(专注),目的提高效率,每个服务于服务之间互不影响,微服务架构中,每个服务必须独立部署,互不影响,微服务架构更加体现轻巧、轻量级,是适合于互联网公司敏捷开发。微服务架构特征微服务架构倡导应用程序设计程多个独立、可配置、可运行和可微服务的子服务。服务与服务通讯协议采用Http协议,使...原创 2019-09-10 19:40:59 · 223 阅读 · 0 评论 -
zookeeper和eureka的区别
分布式中著名的CPA理论:一个分布式系统不可能同时满足C(一致性)、A(可用性)和P(分区容错性)。由于分区容错性在是分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡。在此Zookeeper保证的是CP, 而Eureka则是AP。Consistency(一致性), 数据一致更新,所有数据变动都是同步的Availability(可用性), 好的响应性能Partition to...原创 2019-08-23 20:08:52 · 1090 阅读 · 0 评论