易写科技采用SpringCloud Alibaba技术体系等主流技术,分层架构,使用Maven构建。 数据库读写分离,支持分库、分表多个数据源配置,图片服务器分离,搜索服务器分离等。
易写科技基于Spring Cloud Alibaba整个技术体系开发,比如服务发现:NACOS,声明性REST客户端:Feign,客户端负载平衡器:Ribbon,服务熔断:Sentinel,分布式事务:Seata,高性能、高并发、高可用;互联网的技术架构、全新的UI设计;代码开源,没有任何二次封装,是国内适合二次开发的软件。
由于数字藏品的特殊性与复杂性,需要用户比较高的体验,不适合一台服务器搞定所有的事情,所以易写科技定位中高端,采用微服务的架构来开发,共拆分成8个服务, 每一个服务都是独立部署,每一个服务可以做集群,这8个服务是:1、艺术家服务;2、作品服务;3、订单服务;4、新闻资讯服务;5、网关服务;6、管理员服务;7、用户端服务;8、搜索服务。下图是NACOS注册中心的截图:
服务熔断采用的是阿里的Sentinel,下图是Sentinel截图:
数字版权NFT按照功能对包名称就行规划,分为:学生、老师、论坛、系统等,整个项目基于Maven构建,拆分成不同的微服务,水平和垂直扩展非常便捷;每一个包下面的功能都是对应起来的。
易写科技定义了严格的编码规范,目的是让项目中所有的代码都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。易写课堂编写了《商城环境配置》、《商城开发管理规范》,并有对应的formatter.xml和codetemplates.xml,这样每一个人的代码风格都是相同的,减少不必要的SVN或者GIT冲突。并且在代码中每一个接口都有非常清晰的注释,业务逻辑复杂的地方都有非常清晰的注释,为您二次开发省去大量的人力成本。 下图是部分代码的截图:
1、优化http动态请求次数,减少网络拥塞频繁发生,减少输出带宽;
2、采用Ajax局部刷新技术,动态实现小数据与服务器交互,提高浏览器处理速度,节省网络带宽流量;
3、针对CSS sprites、图片、脚本等采用文件合并技术或压缩技术,减少文件加载传输过程中带来的服务器负载或者网络带宽;
4、采用缓存技术,将复用数据进行缓存,减少响应延迟,支持集中式的分布式数据缓存服务,提供对Memcached、Redis等高性能分布式缓存系统的支持;
5、采用基于Solr的全文检索,实现高效的全站全文检索,支持现集中式的分布式全文检索服务功能;
6、采用MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy),主从复制来同步数据,读写分离来提升数据库的并发负载能力。
…………