易写科技商城系统采用SpringCloud Alibaba技术体系等主流技术,分层架构,使用Maven构建。 数据库读写分离,支持分库、分表多个数据源配置,图片服务器分离,搜索服务器分离等。
易写科技Spring Cloud微服务java B2B2C商城系统,基于Spring Cloud Alibaba整个技术体系开发,比如服务发现:NACOS,声明性REST客户端:Feign,客户端负载平衡器:Ribbon,服务熔断:Sentinel,分布式事务:Seata,高性能、高并发、高可用;互联网的技术架构、全新的UI设计、丰富的促销体系等;代码开源,没有任何二次封装,是国内适合二次开发的电商平台。
易写科技Spring Cloud微服务java B2B2C商城系统,严格按照分层架构来书写代码,服务调用层Controller,服务层Service,应用逻辑层Model,代码逻辑清晰,可读性高,是业内适合二次开发的电商系统,其中数据库层已经做了分库和读写分离,缓存采用的Redis。下图是分层调用逻辑图:
由于电商业务的特殊性与复杂性,电商不适合一台服务器搞定所有的事情,所以易写科技定位中高端,低版本也是采用微服务的架构,拆分成6个服务,分别是1、商品服务;2、订单服务;3、商家服务;4、系统服务;5、会员服务;6、日志服务;每一个子系统都是独立部署,水平扩展如图所示:
易写科技商城系统大客户版本在此基础之上又多了诸多的性能优化,易写科技旗舰版把数据库拆分成2个:1、商城库;2、日志库。而大数据版本把项目拆分成多个不同的子系统,各个子系统的数据库是拆分开的,分别拆分成7个数据库,分别是1、系统库;2、用户行为日志数据库;3、商品库;4、会员库;5、订单库;6、商家库;7、分布式事务数据库。下图是二级域名的拆分情况:
不管哪个版本已经做了读写分离和多个数据源的查分,读写分离是在代码级别做的,也就是每一个表对应两个DAO,一个是写的DAO,一个是读的DAO,写的DAO操作主库,读的DAO操作从库,这样做轻轻松松可以支持PV百万!
1、优化http动态请求次数,减少网络拥塞频繁发生,减少输出带宽;
2、采用Ajax局部刷新技术,动态实现小数据与服务器交互,提高浏览器处理速度,节省网络带宽流量;
3、针对CSS sprites、图片、脚本等采用文件合并技术或压缩技术,减少文件加载传输过程中带来的服务器负载或者网络带宽;
4、采用缓存技术,将复用数据进行缓存,减少响应延迟,支持集中式的分布式数据缓存服务,提供对Memcached、Redis等高性能分布式缓存系统的支持;
5、采用基于Solr的全文检索,实现高效的全站全文检索,支持现集中式的分布式全文检索服务功能;
6、采用MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy),主从复制来同步数据,读写分离来提升数据库的并发负载能力。
…………