摘要: 分阶段事件驱动架构 SEDASEDA(Staged Event-Driven Architecture)的核心思想是把一个请求处理过程分成几个Stage,不同资源消耗的Stage使用不同数量的线程来处理,Stage间使用事件驱动的异步通信模式。更进一步,在每个Stage中可以动态配置自己的线程数,在 阅读全文
posted @ 2020-07-12 23:45 DevinDC 阅读(323) 评论(1) 推荐(0) 编辑
摘要: 环和令牌cassandra的数据管理是用一个环来表示。为环中的每个节点分配一or多个数据范围,用token描述。token由64位整数ID表示,范围-2^(63)~2^(63)-1。使用对分区键进行一个hash来计算分区键落到哪个token中,进而决定分配到哪个节点。org.apache.cassa 阅读全文
posted @ 2020-07-12 23:44 DevinDC 阅读(483) 评论(0) 推荐(0) 编辑
摘要: 结构 集群-->数据中心-->机架-->节点。 cassandra尽可能将数据副本存在多个数据中心,然后读取(查询路由到)尽可能在本地数据中心。 为了去中心化和分区容错性,使用gossip协议。允许各个节点跟踪其他节点的状态信息。 cassandra gossip详情可以参考: https://bl 阅读全文
posted @ 2020-07-09 01:01 DevinDC 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 没有join操作。有轻量级事务和批处理,但是没有外键等。反规范化。3.0支持物化视图,允许在一个表上创建数据的多个物化视图。使用cassandra要从查询入手,而不是先从数据模型开始。先对查询建模,然后根据查询来组织数据,然后再构建表结构。cassandra建表要考虑磁盘怎么存储数据,也就是要求要保 阅读全文
posted @ 2020-07-08 00:31 DevinDC 阅读(225) 评论(0) 推荐(0) 编辑
摘要: cassandra使用一个特殊主键(复合键)表示宽行,宽行也叫分区。复合键由一个分区键和一组可选的集群列组成。分区键用于确定存储行的节点,分区键也可以包含多个列。集群键用于控制数据如何排序以及在分区中如何存储。cassandra还支持静态列,这些列用于存储不属于主键但是由一个分区中的所有行共享的那些 阅读全文
posted @ 2020-07-07 01:01 DevinDC 阅读(478) 评论(0) 推荐(0) 编辑
摘要: cassandra是一个开源的、分布式、去中心化、弹性可扩展、高可用、容错、可调一致性、面向行数据库,分布式设计基于Amazon Dynamo,数据模型基于Google BigTable。cassandra由facebook创建。AP数据库去中心化,P2P(peer to peer,对等网络)协议, 阅读全文
posted @ 2020-07-07 00:59 DevinDC 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 数据库事务正确执行的四个基本要素事务要有四个基本要素:ACID:原子性(Atomic)、一致性(Consistent)、隔离性(Isolated)、持久性(Durable)原子性(Atomic):整个事务中的如果有多个操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。执行失败则回滚。一致 阅读全文
posted @ 2020-07-07 00:58 DevinDC 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 1、使类和成员的可访问性最小化不指定访问级别,就是包私有。protected = 包私有 + 子类一般private不会被访问到,如果实现了Serializable,可能会泄露。反射。final集合或者数组,可以返回clone或者使用unmodifiableList等。java新增2种隐式访问级别, 阅读全文
posted @ 2020-07-07 00:57 DevinDC 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 1、覆盖equals请遵守通用规定。不需要覆写equals的场景:a.类的每个实例都是唯一的。b.类不需要提供“逻辑相等”的测试功能。c.超类已经覆盖了equals的方法。d.类是私有,or包私有,保证equals方法用不被调用。覆写场景:有独特的“逻辑相等”。实现要求:a.自反,对称,传递,一致( 阅读全文
posted @ 2020-07-07 00:55 DevinDC 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 1、优先考虑用静态工厂方法代替构造器2、遇到多个构造器参数时要考虑使用构建器Builder解决参数过多,不可变类型。私有构造方法,静态类的构造方法提供必要参数,剩下可选。new xxx.build()3、用私有构造器或者枚举类型强化Singleton属性。单例:无状态。实现单例如果实现序列化接口,可 阅读全文
posted @ 2020-07-07 00:54 DevinDC 阅读(106) 评论(0) 推荐(0) 编辑