zoukankan      html  css  js  c++  java
  • 渠道平台README.MD

    (消费者)服务启动过程中会去Zookeeper获取生产者列表,缓存到本地。
    当生产者有下线或异常链接不上的时候,Zookeeper会推送事件通知消费者动态清理本地缓存
    
    
    1 Previous operation has not finished; run 'cleanup' if it was interrupted
    2   为了方便命令行执行,将sqlite3.exe放到svn 项目的主目录下,和.svn目录同级下。
    3 sqlite3 .svn/wc.db "select * from work_queue"
    4 sqlite3 .svn/wc.db "delete from work_queue". 把队列清空
    5 之后项目目录被锁:直接在eclipse中 项目右键 team  - 清理(cleanup)
    6 直接找到该项目右键TortoiseSVN--->Clean up...
    
    
    
    系统维护目标:致力于提供可维护性和可扩展性上的复用程度
    
    设计原则:
    1、多用组合,少用继承
    2、为了交互对象之间的松耦合设计而努力
    3、找出程序中会变化的方面,然后将其和固定不变的方面相分离
    4、针对接口编程,不针对实现编程
    5、类应该对扩展开放,对修改关闭
    
    
    幂等:在编程中.一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,
               是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。
               
    
    Linux相关命令的使用:           
    find  -name 1.json|xargs -i -t cp {} /app/bin

    dubbo工程README.MD

    1、dubbo应用:服务启动
    (1)、dubbo默认加载META-INF/spring目录下的所有spring配置(dubbo官方文档-服务容器)java com.alibaba.dubbo.container.Main
    (2)、配置dubbo.properties指明加载文件:dubbo.spring.config=
    2、在ifa-orm包中(1)、ifa_orm_ibatis_dal.xml中指明sqlMapClientFactoryBean的mappingLocation的加载路径是:classpath*:/sqlmap/**/*SqlMap.xml
                 (2)、数据库的路由规则加载:com.alibaba.cobar.client.router.config.DefaultCobarClientInternalRouterXmlFactoryBean的
                      congfigLocations=classpath:META-INF/routing/*-rules.xml
    3、项目加载的配置文件:
    (1)、ifa-web_normal.xml
    ifa-web_jdbc.xml, //ifa_mail_common.xml
    ifa-web_min.xml,ifa-aop_spring_aop.xml,ifa-tx_jdbc_dal.xml
    ifa-core_base.xml"
    ifa_message_resource.xml"
    ifa-core_event_async.xml"
    ifa-exception_app.xml"
    ifa-log_common.xml"
    ifa_web_base.xml"
    (2)、ifa_datasource_mysql_dal.xml
    (3)、ifa_orm_ibatis_mysql_c3p0_dal.xml
    
    
    Cobar 解决的问题
    
    分布式:Cobar 的分布式主要是通过将表放入不同的库来实现:
        Cobar 支持将一张表水平拆分成多份分别放入不同的库来实现表的水平拆分
        Cobar 也支持将不同的表放入不同的库
        多数情况下,用户会将以上两种方式混合使用
    HA:在用户配置了 MySQL 心跳的情况下,Cobar 可以自动向后端连接的 MySQL 发送心跳,判断 MySQL 运行状
    况,一旦运行出现异常,Cobar 可以自动切换到备机工作。但需要强调的是:
    
        Cobar 的主备切换有两种触发方式,一种是用户手动触发,一种是 Cobar 的心跳语句检测到异常后自动触发。那么,当心跳检测到主机异常,切换到备机,如果主机恢复了,需要用户手动切回主机工作,Cobar 不会在主机恢复时自动切换回主机,除非备机的心跳也返回异常
        Cobar 只检查 MySQL 主备异常,不关心主备之间的数据同步,因此用户需要在使用 Cobar 之前在 MySQL 主备上配置双向同步
    功能约束
        不支持跨库情况下的 join、分页、排序、子查询操作
        SET 语句执行会被忽略,事务和字符集设置除外
        分库情况下,insert 语句必须包含拆分字段列名
        分库情况下,update 语句不能更新拆分字段的值
        不支持 SAVEPOINT 操作
        暂时只支持 MySQL 数据节点
        使用 JDBC 时,不支持 rewriteBatchedStatements=true 参数设置(默认为 false)
        使用 JDBC 时,不支持 useServerPrepStmts=true 参数设置(默认为 false)
        使用 JDBC 时,BLOB, BINARY, VARBINARY 字段不能使用 setBlob() 或 setBinaryStream() 方法设置参数
    
    Cobar 组件
        Driver:MySQL JDBC 驱动的封装,实现对 Cobar Server 的负载均衡与高可用支持
        Server:请求处理(SQL 解析、路由、结果集合并)、集群
        Manager:Server 监控的 Web 应用
    结论
        解决了大数据量下的透明水平分表
        必须使用封装过的 MySQL 驱动包 Cobar Driver,无框架要求
        后端对 MySQL 是直接面向二进制协议的
        基于 LL(2) 手写的 SQL 解析器
        支持弱一致性事务(多库并行执行/提交)
        不支持跨库 join、分页、排序、子查询、读写分离
        在 MySQL 实例上没有 agent
        MySQL 主从数据同步使用 MySQL 解决方案
        主异常时切换到从后主恢复,没有 failback,只能手动切换回主
        后端对 MySQL 有连接池
        支持跨地域
    
        
        
        
    order-水平垂直混合    
    水平分库,根据字段值,将数据不同的行放到不同的数据库中。(例如:tbl_nvhl_policy)
    垂直分库,不同业务表放到不同的数据库分片中(例如:tbl_member_cha)
    分库规则相关信息:ifa_datasource_mysql_dal.xml中配置个各个库的标识 如:partition1,partition2
                ifa_orm_ibatis_mysql_dal.xml配置了支持的数据库路由规则
                                        规则:id%jdbc.db_length=1?0(目前仅支持mod算法:mod.apply com.alibaba.cobar.client.router.rules.support.ModFunction)
  • 相关阅读:
    Elasticsearch Transport 模块创建及启动分析
    ElasticSearch中的JVM性能调优
    ElasticSearch 线程池类型分析之 ResizableBlockingQueue
    ElasticSearch 线程池类型分析之 ExecutorScalingQueue
    ElasticSearch 线程池类型分析之SizeBlockingQueue
    Redis的LRU算法
    hdu 1828 Picture(线段树扫描线矩形周长并)
    sublime text2 插件
    Python学习笔记(十四):模块高级
    梦想启航
  • 原文地址:https://www.cnblogs.com/nihaofenghao/p/8929892.html
Copyright © 2011-2022 走看看