-----项目需要考虑的几个方面
Availability ----可用性
Scalability ---- 可伸缩性 (物理层面,性能,例如硬件的提升等)
Extensibility ------可扩展性 (软件层面)
Performance -----
Security -----安全性
可用性的量化 !!!
qps:每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
达成几个9,例如4个9指的是达成99.99%
Availability 隔离,监控,数据
Scalability 负载均衡,服务,数据
Extensibility 框架/容器,分层,模块化
Performance 前端,服务,数据 (I/O 数据库!!,外部网页)
Security 信息,情况,攻防,密钥管理 (有时通过外部统一解决)
学习微服务必读Docker(部署服务器,并且部署成本低,相对简单自动化)
第一次架构:
LAMP结构?
HTML/HTML5 APP
Nginx
YAF PHP(Nginx+FPM)
MySQL Redis
第二层架构:
HTML APP ISV
Nginx
Iron PHP Framework(70+???)
展现层
业务逻辑
Cobar Redis NSQ ElasticSearch
MySQL Cluster Canal
框架中主要的几个相对重要的模块: 注册中心, 监控中心,调用链,流量控制
一个名词:
RDS
关系型数据库服务(Relational Database Service,简称RDS)是一种即开即用、稳定可靠、可弹性伸缩的在线数据库服务。
KVDS
Codis
Codis是一个分布式的Redis解决方案,对于上层的应用来说,连接Codis Proxy和连接原生的Redis Server没有明显的区别(不支持的命令列表),上层应用可以像使用单机的
Redis一样使用,Codis底层会处理请求的转发,不停机的数据迁移等工作,所有后边的一切事情,对于前面客户端来说是透明的,可以简单的认为后边连接是一个内存无限大
的Redis服务。
http://www.cnblogs.com/xuanzhi201111/p/4425194.html
MQ
消息队列(MQ)是一种应用程序对应用程序的通信方法。
可参考:http://book.51cto.com/art/201502/466288.htm
Search
Watchman(Task job):
安全防护
Wagon
微服务?
服务化=\=RPC
RPC是通过外部接口进行远程调用。
RPC是一种方式
是一种进程级的隔离性
负载均衡
注册与发现(注册中心)(微服务主要需要注意这个阶段?)