NewStar 信息分发系统设计

NewStar 信息分发系统设计

咱们在全世界发布网站本质就是向全世界分发咱们的信息给客户/潜在客户,而后但愿促成生意。前端

我想要怎么作

先说一个比喻,这个就是个人指导思想:若是咱们的村子须要水,咱们怎样为村子提供水?一种是天天派人去挑水,另外一种时修建一个给水系统。其实两种方式都有优劣,无所谓好坏,但我但愿像后者那样去作事,由于你挑水,一天和10年没有区别,但创建系统则有质的改变。咱们去一个一个写单个网站,就是在天天挑水;去搭建一个信息分发系统则就是在创建给水系统。web

系统流程图

解释和初步的模板展现

  1. CDN:消息分发网络,用户访问咱们的网站每每不是访问的源码站,由于用户在全世界各地,而网站只部署在一个地方,那就会出现访问异常地慢甚至致使请求超时没法访问。而是在全世界各地创建边缘服务器,而后将数据缓存在边缘服务器,这样用户就能就近访问,速度就会很是地快,好比随便何时什么地方输入baidu.com速度都很快,那就是百度在全国全世界都部署了大量服务器。这个能够不须要本身部署,能够去熟悉公共CDN,使用Akamai、阿里CDN等商业CDN就能搞定,价格也不贵( https://www.akamai.com/cn/zh/ )。docker

  2. web server:每个网站都是咱们部署地一台网页服务器,用户向咱们地网页服务器发起请求,咱们把数据回复给它,而后浏览器解析呈现。部署服务器,咱们能够使用docker 容器来批量部署,就是根据不一样地区不一样内容分类部署多个服务器,而且每个站点都部署多个这样任何一个出现宕机网络问题等不可用时,都能保证用户能正常访问咱们地网站。docker容器部署很是方便,成本也很低。数据库

  3. 网页模板:前端展现的网页,使用模板来完成,找开源模板来用熟悉而后本身修改并格式化来方便咱们填充数据。从本质上讲,用户在网页上看到的东西就是两个:样式+数据。样式就是各类展示样式方便用户获取数据,数据才是用户要获取的。写网页模板的思路就是将样式与数据分离,样式写好,模板拿来复用,里面的数据才是决定咱们展现的内容。
    浏览器

找开源模板的缘由就是:能够获取文档和源码,这样能很方便改,去找别人的网站呈现出来的反过来改每每效果差很远特别是须要与Java后台代码对接缓存

4.Admin后台:后台是咱们系统的直接展现点,由于从管理员来讲使用的就是admin系统,其余的模块均可以不用关系,只须要让运维去负责维护就好了。若是要修改网站的信息,好比更新商品的数据,就在admin系统上修改数据库里的数据,而后数据推送到CDN缓存,前端页面数据刷新就完成了修改,也就是当网页模板定义好后,就不再须要去修改网页,直接修改后台数据就修改网页了。好比,我本身练习的商城项目后台( http://120.27.227.49:8080 )就是如此:服务器

同时Admin也负责对数据整理分析,这些都是能够使用模板完成,好比:( https://adminlte.io/themes/AdminLTE/index2.html )对,个人项目就是直接使用的这个开源模板
网络

5.Application Server:服务监控,如此多的服务和主机若是出现问题,怎么处理,同时管理这么多的主机也不可能,一台一台去管理。同时若是咱们要加入新的网站怎么办。办法就是整个系统使用Java EE框架 Spring Cloud 微服务方式开发,这样能很是好的实现服务的治理和扩展。当咱们须要增长网站时就只须要在数据库里添加数据,而后使用模板生成容器数据部署到新的docker容器了并注册到Spring Cloud中。这一切都不须要再去写网页。
框架

相关文章
相关标签/搜索