架构考虑

1) 如何判断?

1.使用群体和场景-->访问频率/要求-->性能
2.功能稳定性-->可扩展性
3.系统影响程度-->补救方案
4.数据完整性要求-->存储同步备份
5.数据安全性要求-->权限控制管理

2) 为何选择?使用场景?

关系型数据库 -- 支持SQL,可复杂查询。 海量数据读写性能比较差,高并发读写磁盘I/O是瓶颈。
Mysql --  单表数据限制(根据实际情况考虑)。拆分表的规则和查询性能?拆分库?Mysql主备? 冷备、热备?Mysql跨机房同步 ?数据库访问权限?like查询速度慢。

Oracle -- 容量大、稳定、安全、性能高

Oracle RAC -- 实时应用集群,高可用,负载均衡,网络计算。
NetApp NAS -- 网络附属存储,数据存储系统。高可用(故障切换、恢复1分钟左右)

非关系型数据库 -- 存储结构灵活,高并发硬盘或随机存储器速度快,开源。复杂查询欠佳。

MongoDB -- 数据结构、表结构灵活。
Redis -- 内容缓存,高负载,查询速度快。 数据无结构化。

HBase -- 分布式的、面向列的随机访问的存储和检索数据。

全文搜索引擎  -- 主流搜索引擎,海量数据高效检索。

Elasticsearch -- 分布式的搜索引擎,实时搜索,稳定。
Lucene -- 完整的查询和索引引擎,没有中文分词引擎。不支持实时搜索。
Sphinx -- 检索速度快,实时搜索。精准度不如Lucene。
Solr -- 企业级搜索引擎,基于Lucene,成熟的解决方案。

无盘领域缓存
一级缓存 -- 服务器将物理内存中的一部分空间设置为系统包、游戏包快速读写用的存储空间。
二级缓存 -- 利用SSD(读缓存)的快速读能力,将系统、游戏常用数据置于SSD内,从而满足客户机的快速读取需求。
三级缓存 -- 客户机本地缓存技术, 主要实现客户机的快速回写。

分布式

Hadoop -- 分布式高速运算和存储系统。低成本,大容量,高扩展性,高可靠性。
HDFS -- 海量数据分布式存储,高容错性,高吞吐量。
MapReduce -- 海量数据并行计算,高效性。

Kafka -- 分布式发布-订阅消息/日志存储系统,活跃的流式数据,高吞吐量,负载均衡,高堆积能力,支持中间件主备,高可靠性(通过Zookeeper用ZAB协议做分布式一致性、选举),高容量。不支持事务。
Jafka -- 高性能跨语言分布式发布-订阅消息系统,Kafka的升级,快速持久化,高吞吐,自动实现复杂均衡,支持Hadoop数据并行加载。
RabbitMQ -- 消息队列系统,实时,对数据一致性、可靠性要求高,高并发。
RocketMQ -- 消息中间件,高吞吐量,高可用性,可靠性、事务性要求高,高堆积能力。

etcd -- 分布式共享配置和服务发现,读写速度(1万+)快,高可用,部署简单,支持http+json,一致性(Raft协议)

Nginx -- web服务器 ? Nginx的ACL控制?
负载均衡 -- ?
异地多活 -- ?
docker -- 虚拟化。解决资源重用,动态分配, 有效隔离,搭建部署方便,结合ceph秒迁。
微服务 -- ?

3) 最佳实践?
识别复杂点,针对性的解决(合理规划、化烦为简)
结合考虑:团队、成本、安全、进度、扩展、创新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值