敬给读者的话 本文主要应用的技术是solr技术的搭建和应用,本文小编尽量写的更详细一些,让读者在不考虑项目的情况下也能正常完成solr的搭建,说完搭建之后,再说明运行solrj在项目中如何应用solr服务的. 1.solr的搭建 2.把数据库中的数据导入索引库 3.solrJ的使用 solr下载链接,内包含zookeeper.solr.tomcat,若读者只想搭建集群版,则用solr+tomcat即可.zookeeper是在搭建集群中作为集群管理者才使用的. 一.Solr服务的搭建 准备环境:…
由于本节内容比较分散,因此专门为这两个技术进行开展了帖子. solr集群的搭建 solr集群solrJ的测试 activemq的搭建 activemq的使用 引入activemq.jar包 我们先来说说Queue(点到点) 第一步:创建ConnectionFactory对象,需要指定服务端ip及端口号. 第二步:使用ConnectionFactory对象创建一个Connection对象. 第三步:开启连接,调用Connection对象的start方法. 第四步:使用Connection对象创建一…
首先来谈谈e3mall商城,e3mall商城是黑马推出一个学习的项目,前身是淘淘商城.两个用的技术差不多.,但由于后期加了一些新技术,更名为e3mall商城.本商城为分布式商城,主要用到的技术使maven.ssm框架.redis缓存,redis实现单点登录.zookeeper.dubbo.solr.activemq.nginx.freemarker等技术. 一.谈谈项目的架构 该项目由于是一个商城,因此需要考虑到很多因素,比如项目的抗压能力等因素,因此该项目使用了分布式架构,分布式架构在这几年基…
敬给读者 本节主要给大家说一下activemq整合spring,该如何进行配置,上一节我们说了activemq的搭建和测试(单独测试),想看的可以点击时空隧道前去查看.讲完了之后我们还说一说在项目中使用redis缓存的场景. 1.activemq整合spring开发 2.activemq在项目中的使用(添加商品同时索引库也添加) 2.商品详情页使用redis的缓存存数据 一.activemq整合spring开发 项目(e3mall-manager) 第一步:引用相关的jar包. <depende…
敬给读者的话 本节主要讲解freemarker的使用以及sso单点登录系统,两种技术都是比较先进的技术,freemarker是一个模板,主要生成一个静态静态,能更快的响应给用户,提高用户体验. 而sso单点登录系统主要是为了解决分布式架构的一个登录系统,因为分布式架构的每一个模块都是一个项目,那么就需要存在一个session共享的问题,而sso单点登录系统正是为了解决这个问题. 1.使用freemarker实现网页静态化 2.ActiveMq同步生成静态网页 一.freemarker的使用方法…
一.说在前面的话 前面几节我们主要对该项目的后端进行了增删改查,但是所有的数据都是存放在数据库中,这样的话数据库的压力显而易见是很大的,因此本节学习nosql的缓存,也就是redis的使用,在使用之前,我们来想一想为什么要用redis.redis的内存是否有限制,redis的存储方式.那么让我们带着这些问题去学习redis. Redis服务器的搭建和使用. 二.redis 1.redis的安装 Redis是c语言开发的. 安装redis需要c语言的编译环境.如果没有gcc需要在线安装.(上一节n…
一.图片服务器 --1.认识图片服务器 大家可能都知道在分布式架构中使用图片上传可能会导致文件存放在某一个项目,而我们的项目基本上都采用集群的方式 ,因此这样会导致图片的问题比较难以存放,在这里我们有两个解决思路 a.开发时通过开发工具设置一个workspace(文件夹),让我们可以访问到该文件夹,然后把照片存入在其中,把图片名存放在数据库中.再通过tomcat访问该文件夹.当项目上线后可以通过nginx访问该文件夹.当然该方法适用于中小型项目,(开发流程跳转,日后再写一篇文章介绍) b.使用图…
由于本项目用的是soa架构,因此必须需要两个系统之间进行通信,目前的解决办法有三种(本人认为) Webservice:效率不高基于soap协议.项目中不推荐使用. 使用restful形式的服务:http+json.很多项目中应用.如果服务太多,服务之间调用关系混乱,需要治疗服务. 使用dubbo.使用rpc协议进行远程调用,直接使用socket通信.传输效率高,并且可以统计出系统之间的调用关系.调用次数.(阿里巴巴的技术推荐使用) 一.什么是dubbo? Dubbo是阿里巴巴公司开源的一个高性能…
说在前面的话 本节基本上没有用到新的知识点.主要还是对数据库的增删改查以及创建了一个新的内容模块. 新增商品分类 由于easyUI的Tree需要三个字段(Id.state.text), [{ "id": 1, "text": "Node 1", "state": "closed" },{ "id": 2, "text": "Node 2", &qu…
一  后台商品节点 大家都知道后台创建商品的时候需要选择商品的分类,而这个商品的分类就就像一棵树一样,一层包含一层又包含一层.因此这里用的框架是easyUiTree.该分类前端使用的是异步加载模式(指的是每次点击的时候只显示当前层次的数据,如果该层次下面无孩子,则后台回复open,若下面有孩子,则后台返回closed,用这两个单词来区别有没有孩子). 因为前端接收的数据格式是固定的,因此在common项目中创建一个对象EasyUITreeNode,方便数据的返回 前端的请求url:/item/c…