微服务轮子项目(39) -Zookeeper集群搭建
一、下载地址https://zookeeper.apache.org/releases.html二、配置环境变量修改/etc/profile添加以下内容:export ZK_HOME=/export/servers/zookeeper-3.6.1 export PATH=$PATH:$ZK_HOME/bin使环境变量生效:source /etc/profil三、修改配置文件1.创建配置文件,重命....
微服务轮子项目(38) -分布式日志链路跟踪
1. 前言开发排查系统问题用得最多的手段就是查看系统日志,在分布式环境中一般使用ELK来统一收集日志,但是在并发大时使用日志定位问题还是比较麻烦,由于大量的其他用户/其他线程的日志也一起输出穿行其中导致很难筛选出指定请求的全部相关日志,以及下游线程/服务对应的日志。2. 解决思路解决思路:每个请求都使用一个唯一标识来追踪全部的链路显示在日志中,并且不修改原有的打印方式(代码无入侵)使用Logba....
微服务轮子项目(37) -多租户(应用隔离)
1. 概述多租户技术或称多重租赁技术,简称SaaS,是一种软件架构技术,是实现如何在多用户环境下(此处的多用户一般是面向企业用户)共用相同的系统或程序组件,并且可确保各用户间数据的隔离性。简单讲:在一台服务器上运行单个应用实例,它为多个租户(客户)提供服务。从定义中我们可以理解:多租户是一种架构,目的是为了让多用户环境下使用同一套程序,且保证用户间数据隔离。那么重点就很浅显易懂了,多租户的重点就....
微服务轮子项目(36) -Canal数据库日志解析消费
1. Canal概述早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。不过早期的数据库同步业务,主要是基于trigger的方式获取增量变更,不过从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务,从此开启了一段新纪元。目前内部版本已经支持mysql和oracle部分版本的日志解析当前的can....
微服务轮子项目(35) -FastDFS分布式文件系统
1. 概述通过独立文件服务器可以解决一些问题,如果某天存储文件的那台服务突然down了怎么办?可能你会说,定时将文件系统备份,这台down机的时候,迅速切换到另一台就OK了,但是这样处理需要人工来干预。另外,当存储的文件超过100T的时候怎么办?单台服务器的性能问题?这个时候我们就应该考虑分布式文件系统了。业务继续发展,单台服务器存储和响应也很快到达了瓶颈,新的业务需要文件访问具有高响应性、高可....
微服务轮子项目(34) -Kafka
1. Kafka概述Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。Kafka主要设计目标如下:以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上....
微服务轮子项目(33) -RocketMQ特点、安装部署、异常处理、事务消息原理
1. Rocket概述消息队列作为高并发系统的核心组件之一,能够帮助业务系统解构提升开发效率和系统稳定性。主要具有以下优势:削峰填谷:主要解决瞬时写压力大于应用服务能力导致消息丢失、系统奔溃等问题系统解耦:解决不同重要程度、不同能力级别系统之间依赖导致一死全死提升性能:当存在一对多调用时,可以发一条消息给消息系统,让消息系统通知相关系统蓄流压测:线上有些链路不好压测,可以通过堆积一定量消息再放开....
微服务轮子项目(32) -SpringCloudStream消息框架
1. 前言比方说我们用到了RocketMQ和Kafka,由于这两个消息中间件的架构上的不同,这些中间件的差异性导致我们实际项目开发给我们造成了一定的困扰,我们如果用了两个消息队列的其中一种,后面的业务需求,我想往另外一种消息队列进行迁移,这时候无疑就是一个灾难性的,一大堆东西都要重新推倒重新做,因为它跟我们的系统耦合了,这时候Spring Cloud Stream给我们提供了一种解耦合的方式。2....
微服务轮子项目(30) -数据库分库分表、部署上线方式(下)
5.3 扩容问题扩容问题(水平分库分表,拆分策略为常用的hash法)水平扩容表(双写迁移法):将老库中的老数据复制到新库中;应用配置双写,部署;以老库为准校对新库中的老数据;应用去掉双写,部署;5.4 总结分库分表,首先得知道瓶颈在哪里,然后才能合理地拆分(分库还是分表?水平还是垂直?分几个?)。且不可为了分库分表而拆分。选key很重要,既要考虑到拆分均匀,也要考虑到非partition key....
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。