把本人基于Dubbo的毕业设计分享粗来~
这个毕业设计不是太让我满意,可能时间关系吧,但是现在工作了我也懒得没时间去完善了【目前也就有一个功能没完成,就是给产品经理送绿帽子的模块】

项目地址:GitHub
技术栈:Spring+SpringMVC+mybatis+Dubbo+ActiveMQ+Solr+Redis+Shiro+Bootstrap
服务关系图:

..

部署顺序:
先把程序打包【maven打包会吧】
鼠标右键---Run As---Maven Build

..

准备Tomcat-1,用来放系统的war包【isay-web,isay-web-admin】(这一步可以省略,你可以直接在eclipse里面启动)
准备Tomcat-2,用来存放Dubbo管控台
如果你要用两个Tomcat来运行,请修改Tomcat的配置文件server.xml,更改端口



..
我把dubbo-admin-2.5.6.war包解压之后放在Root目录了,这个管控台去网上下载即可

..因为我把端口改成了8888,所以访问http://localhost:8888/就可以了,这个时候还没有服务启动,所以继续下面的步骤
准备ActiveMQ程序包,无需配置,直接运行即可
准备Zookeeper,修改zoo.cfg

..

准备solr7.1.0,部署本地核心
进入这个目录,复制一份_default,更名为自定义的

..配置solrconfig.xml

..加入下面配置
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">db-data-config.xml</str>
</lst>
</requestHandler>

..在同级目录建立一个db-data-config.xml文件,加入需要导入的数据库里面的数据
<dataConfig>
<dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/isay_post?useSSL=false" user="root" password="1234" />
<document>
<entity name="solr_post" query="select * from solr_post"
deltaQuery="select id from post where sp_time > '${dataimporter.last_index_time}'">
<field column="SP_ID" name="spId" />
<field column="SP_TITLE" name="spTitle" />
<field column="SP_CONTENT" name="spContent" />
<field column="SP_COVER" name="spCover" />
<field column="SP_TIME" name="spTime" />
</entity>
</document>
</dataConfig>
..找到这个jar包

还有MySQL驱动包一起,复制到

找到分词器

复制到webapp的lib目录

修改managed-shchema,加入
<!-- ChineseAnalyzer -->
<fieldType name="solr_cnAnalyzer" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
</analyzer>
</fieldType>
..

最后启动

..
配置数据【名字与数据库名字一致】

..

..

..

..

..这个是个复合字段,方便查询

..

..

..选择DataImport,进行导入数据

..到此solr的配置完成
准备Redis,本地服务
准备MySQL,本地服务,导入我的数据库,账号密码:root/1234

..
最后,按照如下顺序启动服务
F:\eclipse-workspace\isay-parent\isay-user-service\target>java -jar isay-user-service.jar
[2018-09-20 15:01:51] Dubbo service server started! F:\eclipse-workspace\isay-parent\isay-post-service\target>java -jar isay-post-service.jar
[2018-09-20 15:02:16] Dubbo service server started! F:\eclipse-workspace\isay-parent\isay-site-service\target>java -jar isay-site-service.jar
[2018-09-20 15:02:31] Dubbo service server started! F:\eclipse-workspace\isay-parent\isay-mq-service\target>java -jar isay-mq-service.jar
[2018-09-20 15:02:46] Dubbo service server started!
..

..

..

..

查看Dubbo管控台

然后启动web模块

..
简单介绍
登录账号密码:123456@qq.com/abc123
http://localhost:8080/isay-web/
个人中心

写帖子

搜索功能【不完善的地方是需要手动同步数据库到solr】

http://localhost:8080/isay-web-admin/
后台相当简单了

还有很多功能我没有展示全。自己运行看吧,其中有1个小功能没开发完,我也懒得管了
项目地址:GitHub
把本人基于Dubbo的毕业设计分享粗来~的更多相关文章
- 分布式事务之——tcc-transaction分布式TCC型事务框架搭建与实战案例(基于Dubbo/Dubbox)
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/73731363 一.背景 有一定分布式开发经验的朋友都知道,产品/项目/系统最初为了 ...
- 传统保险企业基于 Dubbo 的微服务实践
本文整理自中国人寿保险(海外)股份有限公司深圳中心技术总监家黄晓彬在 Dubbo 社区开发者日深圳站的现场分享. 中国人寿保险(海外)股份有限公司负责香港.澳门.新加坡和印尼的业务开发,和国内业务不同 ...
- 基于Dubbo框架构建分布式服务(一)
Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配 ...
- 基于dubbo的分布式项目实例应用
本文主要学习dubbo服务的启动检查.集群容错.服务均衡.线程模型.直连提供者.只定阅.只注册等知识点,希望通过实例演示进一步理解和掌握这些知识点. 启动检查 Dubbo缺省会在启动消费者时检查依赖的 ...
- 基于dubbo框架下的RPC通讯协议性能测试
一.前言 Dubbo RPC服务框架支持丰富的传输协议.序列化方式等通讯相关的配置和扩展.dubbo执行一次RPC请求的过程大致如下:消费者(Consumer)向注册中心(Registry)执行RPC ...
- 基于dubbo源码包通过Maven构建dubbo的详细步骤
通过Maven构建dubbo 既然可以下载得到源码以及发布包,那么为什么要去构建dubbo呢?,我们先来看下dubbo的主要模块: 我们不仅要使用dubbo的核心框架,还要使用它的一些服务,比如管理控 ...
- 基于jquery的侧边栏分享导航
今天给大家分享一款基于jquery的侧边栏分享导航.这款分享钮一直固定于左侧,鼠标经过的时候凸出显示,这款分享按钮适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲 ...
- 基于Dubbo框架构建分布式服务
Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配 ...
- 如何开发基于Dubbo RPC的分布式服务?
什么是Dubbo? Dubbo能做什么? 在Crystal框架下,如何开发基于Dubbo RPC的服务? 在Crystal框架下,如何调用Dubbo RPC服务? 相关的文章 什么是Dubbo? Du ...
随机推荐
- linux下使用sha256sum生成sha256校验文件,并校验其一致性
[root@localhost ]# " >test.zip 生成sha256文件校验文件 [root@localhost ]# sha256sum test.zip >test ...
- mysql高可用架构之MHA,haproxy实现读写分离详解
MySQL高可用架构之MHA 一.运维人员需要掌握的MySQL技术: 1.基本SQL语句 2.基本的管理[库表数据的管理 权限的管理] 3.容灾 保证数据不丢失. 二.工作中MySQ ...
- query中对应的OnSetText和onGetText事件
今天在看代码的时候遇到一个问题,query中的某个字段和在表中显示的不是一个值,我觉得很奇怪,于是找了很久,才知道为什么,原来是query中的OnSetText和onGetText事件在作怪,经过一番 ...
- 如何设置C-Lodop打印控件的端口
Lodop是一款功能强大的打印控件,在一些浏览器不再支持np插件之后,Lodop公司又推出了C-Lodop,C-Lodop是以服务的方式解决web打印,摆脱了对浏览器的依赖,支持了所有的浏览器. 该控 ...
- linux环境 :LIBRARY_PATH, LD_LIBRARY_PATH区别
参考: https://www.cnblogs.com/mylinux/p/4955448.html LIBRARY_PATH和LD_LIBRARY_PATH是Linux下的两个环境变量,二者的含义和 ...
- HttpWebRequest using Basic authentication
System.Net.CredentialCache credentialCache = new System.Net.CredentialCache(); credentialCache.Add( ...
- 百年老图难倒谷歌AI,兔还是鸭?这是个问题
上面这张图,画的是鸭子还是兔子? 自从1892年首次出现在一本德国杂志上之后,这张图就一直持续引发争议.有些人只能看到一只兔子,有些人只能看到一只鸭子,有些人两个都能看出来. 心理学家用这张图证明了一 ...
- python变量与基础数据类型
一.什么是变量 变量是什么? 变量:把程序运行的中间结果临时的存在内存里,以便后续的代码调用.在python中一切都是变量. 1.python变量命名的要求 1,必须有数字,字母,下划线任意组合. ...
- Civil 3D 二次开发 翻转曲面高程分析颜色
不解释,直接上代码及截图. [CommandMethod("RvsSEA")] public void ReverseSurfaceElevationAnalysis() { Ci ...
- python之旅5【第五篇】
装饰器详解 函数刚开始不解析内部,只是放进内存 装饰器是函数,只不过该函数可以具有特殊的含义,装饰器用来装饰函数或类,使用装饰器可以在函数执行前和执行后添加相应操作. 1 下面以一个函数开始,理解下面 ...