如题,现在在学习redis,看到了主从配置这一块。然后看到某些做法是配置slave为只读,然后master关闭了rdb。上网看了一下redis主从配置 说是可以使数据库读写分离,减轻数据库压力。我想问一下,除了从服务器不能写之外,哪个地方体现了 读与写分离。我的疑惑是,是否数据库的读写分离需要程序支持才可以?(读的时候将数据源指向slave,写的时候指向master)。如果程序不这样做,那么主从配置是否就没了意义了呢?
业精于勤,荒于嬉;行成于思,毁于随。
(数据层)读写分离对上层(逻辑层)透明才是正常的逻辑。不然会有耦合。总不能我的数据服务
换个端口业务端也跟着该代码吧。
一般的读写分离都是通过中间件或是插件的形式出现对业务逻辑层是透明的(它还以为后台只有一个数据服务呢,就像是反向代理),redis就是这种形式有master来判断哪个是读哪个是写来统一调度cluster的节点。像mysql的读写分离或是主从都是通过插件完成的。
切记不能在逻辑层的代码里体现读写分离(读操作用A服务的连接,写操作用B服务器的连接)。
(数据层)读写分离对上层(逻辑层)透明才是正常的逻辑。不然会有耦合。总不能我的数据服务
换个端口业务端也跟着该代码吧。
一般的读写分离都是通过中间件或是插件的形式出现对业务逻辑层是透明的(它还以为后台只有一个
数据服务呢,就像是反向代理),redis就是这种形式有master来判断哪个是读哪个是写来统一调度
cluster的节点。像mysql的读写分离或是主从都是通过插件完成的。
切记不能在逻辑层的代码里体现读写分离(读操作用A服务的连接,写操作用B服务器的连接)。