Welcome

Life is hahaha wuwuwu.

浅谈Redis与中间的一些设计策略

Redis学习

简介 Redis是一个开源的高性能键值对数据库,基于内存且可持久化的日志,所以通常也说内存数据库,提供多种键值数据类型能够适应不同的存储需求,所以这两块构成了Redis强大的基础,基于内存的高性能和支持多种数据类型的高可用。 可执行文件 redis-server:Redis服务器 redis-cli:Redis命令行客户端 redis-benchmark:Redis性能测试工...

浅谈Hbase与中间的一些设计策略

Hbase学习

前言 前面的文章初入Hadoop生态系统里面有涉及到Hbase的一些特点和数据模型,这里来着重谈谈Hbase和其中的一些设计策略。 回顾 Hbase是一个分布式的面向列的开源数据库 rowKey决定Region(区域),columnFamily(列族)决定HFile,并且由于Hbase的多版本性,不同的HFile也有不同的Timestamp区间,所以在查询时,指定columnFamily将...

NoSql与Sql之间的优胜劣汰

nosql与sql

前言 我们都知道Sql(Structured Query Language),翻译过来就是结构化查询语言,常用的Sql database有mysql、oracle、sqlserver等等,那NoSql是什么呢? NoSql在维基上面的解释是,”non SQL” or “non relational”,翻译过来就是非SQL或非关系,我们通常的解释是Not only sql,不仅仅是SQL,我们...

初入Hadoop生态系统

hadoop学习

前言 说起Hadoop,知道它是一个开源的、可运行于大规模集群上的分布式计算平台,实现了MapReduce计算模型和分布式文件系统HDFS等功能;但对Hadoop整个的生态不够了解,本着爱学习的态度,一块来探探hadoop的生态圈。 关于Hadoop 日常生活中我们一看到大数据和大数据相关的信息就会想到了hadoop,但要说具体点,又不知从何说起。 hadoop是基于Java开发的,所以在...

关于JVM学还是不学

JVM学习

前言 说起JVM大多数给予的回应是JAVA虚拟机,是JAVA语言跨平台的武器。而且我们在开发中遇到和JVM有关的问题基本上就是OutOfMemoryError(内存溢出),然后一般解决方法就是找到相关的代码进行优化或者调整-Xms(初始内存)和-Xmx(最大能够使用内存大小)。尤其现在很多语言、框架概括来说就是以特有的方式抽象出来,隐藏具体的细节实现。那关于底层的这块学还是不学呢? 误区 ...

浅谈高可用和设计的一些原则(JAVA)

高可用设计

前言 上文说到了关于高并发的一些原则及设计,这篇主要是讲讲关于高可用这一块,毕竟都是难兄难弟,谁也离不开谁。 关于高可用? 高可用的本质就是对系统的不确定性做预期准备,来保证服务的健康,包括经常听到的数据丢失、容灾、故障等除了不可抗因素外,要达到所谓衡量标准的N个9。 关于N个9的计算方式,例如3个9:(1-99.9%) * 365 * 24=8.76小时,表示该软件系统在连续运行1年时间...

浅谈高并发和设计的一些原则(JAVA)

高并发设计

前言 在设计一个系统的时候,因为场景、时间而异、资源配备等不是一下子就能设计得非常完美,在有限的资源下解决最核心的问题,预测并发现以后可能出现的问题,并逐步解决,所以说系统设计是一个不断迭代的过程,不要过度设计,从迭代中演变和完善。 关于并发? 并发包括并行从概念上来讲都是为了提高效率,在最短的时间内怎么来完成最多的事情。 包括现在的双十一、双十二等等,在一秒钟完成了多少的订单,这些都会涉...

消息中间件部署及比较(rabbitMQ、activeMQ、zeroMQ、rocketMQ、Kafka、redis)

中间件学习

一发一存一消费,没有最好的消息队列中间件(简称消息中间件),只有最合适的消息中间件。 消息队列常用的使用场景: 非实时性:当不需要立即获得结果,但是并发量又需要进行控制的时候,差不多就是需要使用消息队列的时候。主要解决了应用耦合、异步处理、流量削锋等问题。 应用耦合:多应用间通过消息队列对同一消息进行处理,避免调用接口失败导致整个过程失败;(如:订单->库存) 异步处理...

Spring cloud(6)-配置管理及刷新(Config,Bus)

spring cloud学习

Spring Cloud Config(配置管理) 分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新(有某些配置信息变化有一定频率和规律,并且希望能够做到尽量实时(营销类,或活动类应用系统)),所以需要分布式配置中心组件。 分布式配置统一解决方案主要目标 部署极其简单: 同一个上线包,无须改动配置,即可在多个环境中(RD/QA/PRODUCTION) 上线 部...

Spring cloud(5)-路由网关(Zuul)

spring cloud学习

Spring Cloud Zuul(路由网关) 基于Netflix的开源框架 zuul实现的 各个微服务之间都不存在单点,并且都注册于 Eureka ,基于此进行服务的注册于发现,再通过 Ribbon 进行服务调用,并具有客户端负载功能。 问题点? 将我们具体的微服务地址加端口暴露出去? 如果系统庞大,服务拆分的足够多那又有谁来维护这些路由关系呢? 服务调用之间的一些鉴权、签名...