【MongoDB】ReadPreference读偏好-创新互联

    在副本集Replica Set中才涉及到ReadPreference的设置,默认情况下,读写都是分发都Primary节点执行,但是对于写少读多的情况,我们希望进行读写分离来分摊压力,所以希望使用Secondary节点来进行读取,Primary只承担写的责任(实际上写只能分发到Primary节点,不可修改)。

为灌阳等地区用户提供了全套网页设计制作服务,及灌阳网站建设行业解决方案。主营业务为网站建设、成都网站制作、灌阳网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

 

MongoDB有5种ReadPreference模式:

  • primary

    主节点,默认模式,读操作只在主节点,如果主节点不可用,报错或者抛出异常。

  • primaryPreferred

    选主节点,大多情况下读操作在主节点,如果主节点不可用,如故障转移,读操作在从节点。

  • secondary

    从节点,读操作只在从节点, 如果从节点不可用,报错或者抛出异常。

  • secondaryPreferred

    选从节点,大多情况下读操作在从节点,特殊情况(如单主节点架构)读操作在主节点。

  • nearest

    最邻近节点,读操作在最邻近的成员,可能是主节点或者从节点。

Spring中的设置ReadPreference:

<!-- mongodb配置 --> <mongo:mongo id="mongo"  host="${mongo.host}" port="${mongo.port}" write-concern="NORMAL" >     <mongo:options          connections-per-host="${mongo.connectionsPerHost}"         threads-allowed-to-block-for-connection-multiplier="${mongo.threadsAllowedToBlockForConnectionMultiplier}"         connect-timeout="${mongo.connectTimeout}"          max-wait-time="${mongo.maxWaitTime}"         auto-connect-retry="${mongo.autoConnectRetry}"          socket-keep-alive="${mongo.socketKeepAlive}"         socket-timeout="${mongo.socketTimeout}"          slave-ok="${mongo.slaveOk}"         write-number="1"          write-timeout="0"          write-fsync="false"     /> </mongo:mongo> <!-- mongo的工厂,通过它来取得mongo实例,dbname为mongodb的数据库名,没有的话会自动创建 --> <mongo:db-factory id="mongoDbFactory" dbname="uba" mongo-ref="mongo" /> <!-- 读写分离级别配置  --> <!-- 选主节点,大多情况下读操作在主节点,如果主节点不可用,如故障转移,读操作在从节点。 --> <bean id="primaryPreferredReadPreference" class="com.mongodb.TaggableReadPreference.PrimaryPreferredReadPreference" /> <!-- 最邻近节点,读操作在最邻近的成员,可能是主节点或者从节点。  --> <bean id="nearestReadPreference" class="com.mongodb.TaggableReadPreference.NearestReadPreference" /> <!-- 从节点,读操作只在从节点, 如果从节点不可用,报错或者抛出异常。存在的问题是secondary节点的数据会比primary节点数据旧。  --> <bean id="secondaryReadPreference" class="com.mongodb.TaggableReadPreference.SecondaryReadPreference" /> <!-- 优先从secondary节点进行读取操作,secondary节点不可用时从主节点读取数据  --> <bean id="secondaryPreferredReadPreference" class="com.mongodb.TaggableReadPreference.SecondaryPreferredReadPreference" /> <!-- mongodb的主要操作对象,所有对mongodb的增删改查的操作都是通过它完成 --> <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">     <constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />     <property name="readPreference" ref="primaryPreferredReadPreference" /> </bean>

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

分享题目:【MongoDB】ReadPreference读偏好-创新互联
当前地址:https://www.cdcxhl.com/article38/pgcpp.html

成都网站建设公司_创新互联,为您提供小程序开发域名注册外贸网站建设微信公众号移动网站建设网站内链

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站制作