![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Dubbo
恒奇恒毅
Javaer
展开
-
分布式架构学习之:018--Dubbo集群
dubbo服务集群常用配置 服务提供者 Xml代码 dubbo:application name="pay-service-trade" /> dubbo:registry protocol="zookeeper" address="${dubbo.registry.address}" /> dubbo:原创 2017-05-12 16:02:51 · 1107 阅读 · 0 评论 -
商城项目实战13:展示后台管理页面
我们前面做了那么多准备不是白做的,大家如果坚持到现在,真的值得给自己一个拥抱!现在我们就来开始着手处理后台管理系统。 首先,大家需要整合淘淘商城的后台管理系统静态页面,即需要将以下css、js、jsp三个文件夹添加到taotao-manager-web工程中的WEB-INF下。 整合静态页面之后的效果为: 为什么我们把jsp放到WEB-INF下面呢?这是因为我们在taotao转载 2017-06-01 20:05:45 · 4695 阅读 · 2 评论 -
商城项目实战12:服务调用测试
我们已经发布dubbo服务,现在本文来测试一下引用dubbo服务是否好使。在启动taotao-manager工程之前,我们先检查我们的zookeeper当前是否处于开启状态,使用cd /usr/local/zookeeper/zookeeper-3.4.6/bin命令切换到bin目录下,然后使用./zkServer.sh status来查看其启动状态,如果zookeeper没启动,就使用./z转载 2017-06-01 20:04:23 · 1027 阅读 · 1 评论 -
商城项目实战11:引用dubbo服务
上文我们一起学习了如何发布一个dubbo服务,本文我就来教大家如何在web工程中引用dubbo发布的服务。 首先我们在web工程也需要添加dubbo的依赖,我们可以直接把taotao-manager-service工程下的关于dubbo的依赖部分拷贝过来,拷贝的内容如下:dependency> groupId>com.alibabagroupId> artifactId>转载 2017-06-01 20:03:08 · 1699 阅读 · 1 评论 -
商城项目实战10:发布dubbo服务
Dubbo采用全spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。那么Dubbo应该怎么使用呢?下面我将揭晓答案。 如果不用Dubbo,单一工程中spring的配置可能如下:id="xxxService" class="com.xxx.XxxServiceImpl" />id=转载 2017-06-01 20:02:15 · 1796 阅读 · 1 评论 -
商城项目实战09:SSM框架整合之逆向工程
我们知道在开发中有些工作是非常耗时但是又没有什么技术含量的,比如创建mapper文件、pojo、dao等,我们更关心的是业务逻辑的处理,而不是这些无关紧要的东西,因此如果能有工具帮我们自动生成代码将是非常棒的一件事情,这些mybatis官方已经为我们考虑到了,mybatis官方提供了逆向生成代码工程,我们只需要修改下配置文件便可以非常方便的生成接口、pojo、dao。如果有同学对mybatis的逆转载 2017-06-01 20:00:57 · 547 阅读 · 0 评论 -
商城项目实战08:SSM框架整合之表现层整合
上文我们一起学习了Service层的整合,本文将教大家如何整合表现层。 我们在taotao-manager-web工程的src/main/resource目录下新建一个spring文件夹,在该目录下新建一个springmvc.xml文件,如下图所示。 springmvc.xml文件的内容如下:beans xmlns="http://www.springframework.org转载 2017-06-01 19:59:58 · 693 阅读 · 0 评论 -
商城项目实战07:SSM框架整合之Service层整合
上文我们一起学习了Dao层的整合,本文将教大家如何整合Service层。 我们需要在taotao-manager-service工程的src/main/resources/spring目录下新建一个applicationContext-service.xml文件,如下图所示。 applicationContext-service.xml文件的内容如下所示,可以看到我们配置包扫描器,扫转载 2017-06-01 19:58:58 · 1906 阅读 · 0 评论 -
商城项目实战06:SSM框架整合之Dao层整合
一个项目中往往有三层即Dao层、Service层和Web层,看标题就知道了,本文我将带领大家如何整合我们的Dao层。整合之前,我们得分析一下SSM这三大框架的整合思路,因为我们必须站在一个较高的位置,俯视整个项目,要胸怀天下,要有一个大局观。SSM框架的整合思路Dao层mybatis整合spring,通过spring管理SqlSessionFactory、mapper代理对转载 2017-06-01 19:57:43 · 887 阅读 · 0 评论 -
商城项目实战04:单机zookeeper
这篇文章,我单独来说一下zookeeper如何安装。在实际开发中,zookeeper都是运行在Linux系统上的,因此,我们也把zookeeper安装到Linux系统上,一般来说我们开发时用windows系统,工程开发完成之后部署在Linux系统上,因此要想有Linux环境我们就需要安装虚拟机,然后在虚拟机中进行安装。这里我使用的Linux系统是CentOS6.7,下面我就来详讲在Linux系统上转载 2017-06-01 18:56:24 · 629 阅读 · 0 评论 -
商城项目实战03:使用maven tomcat插件启动聚合工程
上文我们一起学习了如何使用maven tomcat插件来启动web工程,本文我们就来一起学习如何使用maven tomcat插件启动聚合工程。 之前我就讲过,淘淘商城的taotao-manager工程是个聚合工程,它下面有taotao-manager-dao、taotao-manager-pojo、taotao-manager-interface、taotao-manager-service四转载 2017-06-01 18:54:17 · 2907 阅读 · 0 评论 -
商城项目实战02:使用maven tomcat插件启动web工程
上文我们一起学习了怎样搭建maven工程,这篇文章我就来教大家一起学习怎样用tomcat插件来启动web工程。 我们把服务层和表现层的工程都创建好了,目前来说,其实真正能运行的就2个,一个是表现层工程——taotao-manager-web,一个服务层工程——taotao-manager。本文先来看表现层工程,它可以独立运行,它应该怎么运行呢?为何要用maven tomcat插件来启动转载 2017-06-01 18:52:21 · 854 阅读 · 1 评论 -
商城项目实战01:使用maven构建工程
开发工具和环境这里,我统一规范一下淘淘商城的开发工具和环境,如下:Eclipse 4.5.2(Mars2),其自带maven插件,需要手工安装svn插件,但我提供的这个eclipse,svn插件已经搭好了Maven-3.3.9(开发工具自带)Tomcat-7.0.75(Maven Tomcat Plugin)JDK 1.7MySQL 5.7.17Nginx 1.8.0Redis 3转载 2017-06-01 18:49:37 · 2245 阅读 · 1 评论 -
商城项目实战33:单点登录系统SSO实现
1. 计划1、实现单点登录系统2、实现用户的登录功能3、实现用户的注册功能2.单点登录系统分析2.1.什么是SSOSSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。...转载 2019-07-27 19:51:05 · 7922 阅读 · 0 评论 -
商城项目实战28:内容管理
1.1. 内容列表1.1.1. 需求请求的url:/content/query/list响应的数据格式:EasyUIResult 1.1.2. Mapper使用逆向生成的mapper文件。 1.1.3. Service@Servicepublic class ContentServiceImpl implements ContentS转载 2017-06-06 09:13:48 · 777 阅读 · 0 评论 -
商城项目实战14:MyBatis分页插件(PageHelper)的使用以及商品列表展示
上文我们实现了展示后台页面的功能,而本文我们实现的主要功能是展示商品列表,大家要是实现了该功能,点击查询商品超链接,就能看到如下所示结果: 下面我就来教大家如何实现展示商品列表这个功能。 我们知道,EasyUI的最大特点便是局部刷新,所有展示都是分模块展示的,不像我们一般页面采用全部刷新。查询商品是index.jsp中的一个模块展示而已,我们下面来看下index.jsp页面代码,如下图转载 2017-06-01 20:06:36 · 1749 阅读 · 0 评论 -
商城项目实战15:Dubbo监控中心
之前我们就已学过了dubbo,想必大家对dubbo的架构有所了解,dubbo的架构如下图所示。我们目前已经学习完了除monitor之外的其它模块,那么本文我就来告诉大家怎样使用monitor,即dubbo监控中心。 如果大家想要使用dubbo监控中心,那么就必须从dubbo官网下载dubbo监控中心的war包,例如dubbo-admin-2.5.4.war,如下所示: 它可直接转载 2017-06-01 20:07:36 · 748 阅读 · 0 评论 -
商城项目实战16:maven工程debug调试
上文我们已经实现了商品列表展示的功能,在实际开发中我们肯定是要经常对maven工程进行debug调试的,想必还有同学对这个感到陌生,所以本文专门来讲解如何对maven工程进行debug调试。 首先我们打开taotao-manager-service工程中的ItemServiceImpl实现类,在如下代码处打一个断点,截图如下: 打好断点之后,在进行debug调试之前,我们需要先启动注册转载 2017-06-01 20:08:39 · 2281 阅读 · 3 评论 -
商城项目实战05:zookeeper集群
这篇文章,我单独来说一下zookeeper如何安装。在实际开发中,zookeeper都是运行在Linux系统上的,因此,我们也把zookeeper安装到Linux系统上,一般来说我们开发时用windows系统,工程开发完成之后部署在Linux系统上,因此要想有Linux环境我们就需要安装虚拟机,然后在虚拟机中进行安装。这里我使用的Linux系统是CentOS6.7,下面我就来详讲在Linux系统上转载 2017-06-01 19:55:06 · 548 阅读 · 0 评论 -
商城项目实战26:CMS内容管理系统工程搭建
上文我们一起搭建了表现层中的商城门户系统——taotao-portal-web,本文我将教大家如何搭建CMS内容管理系统这个工程。在这之前,我们还是一起分析一下商城门户系统中的表的设计。商城门户系统中表的设计我们以京东的首页为例,如下图所示,可以看到内容显示是分组显示的,广告位轮播图是一组,轮播图下面那两张图片是一组,右边的”促销”、”公告”是一组,但是它与轮播图又有所不同,不同之转载 2017-06-02 10:12:07 · 1518 阅读 · 0 评论 -
商城项目实战25:前台系统工程搭建
通过上文的学习,我相信大家已经实现了商品添加的功能,本文我将来教大家如何搭建前台系统工程。 我们先来看一下淘淘商城的首页,如下图所示。 我们再来看看淘淘商城的系统架构图,我们目前只是完成了后台管理系统和商品服务,还有很多都没有实现,淘淘商城首页的展示需要用到商城门户工程和内容服务工程,本文我们便来学习商城门户的搭建。 现在我们就来新建一个taotao-portal-web工程,转载 2017-06-02 10:11:00 · 903 阅读 · 0 评论 -
商城项目实战24:实现添加商品功能
无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。经过上文的学习,我相信大家都知道富文本编辑器的使用方法了,我们能走到这步,实属不易,本文终于可以来实现商品添加这个功能了。在item-add.jsp页面当中,当点击提交按钮后,会触发submitForm方法,如下图所示...转载 2019-07-27 19:51:25 · 17991 阅读 · 1 评论 -
商城项目实战23:KindEditor富文本编辑器的使用
通过上文的学习,我们知道了怎样解决KindEditor富文本编辑器上传图片时的浏览器兼容性问题,至于本文,我将为大家介绍一下KindEditor富文本编辑器与淘淘商城相结合的使用方法。 我们在发表一篇博客或者微博的时候,都会用到富文本编辑器,因为它提供的功能非常丰富,不仅能写文字,还能设置字体大小、颜色,还能插入图片、音频、视频等等。现在流行的编辑器有三个,第一个是KindEditor,这是国转载 2017-06-02 09:57:04 · 1905 阅读 · 5 评论 -
商城项目实战22:解决KindEditor上传图片浏览器兼容性问题
上文我们已实现了图片上传功能,但是有个问题,那就是对浏览器兼容性不够,因为Map类型的返回值在火狐浏览器无法识别,如下图所示。 注意:以上火狐浏览器中添加图片的按钮没出来,即说明火狐浏览器中还没安装Adobe Flash Player插件,如何安装请读者自行百度。 为了解决这个兼容性问题,我们需要修改下返回值类型,将Map类型变为String类型(也就是json串)。我们至少可以使用以转载 2017-06-02 09:56:17 · 2224 阅读 · 0 评论 -
商城项目实战21:实现图片上传功能
上文我们使用FastDFS-Client进行了简单的文件上传操作测试,淘淘商城项目中添加商品时上传图片的功能还没实现,如下图所示。本文将花大量笔墨来教大家如何实现图片上传这个功能。我们来看下item-add.jsp页面,可以看到上传图片触发的方法是通过叫做picFileUpload的class来处理的,在<a>标签的下方是一个隐藏域,是用来接收图片上传到图片服务器的回显地址的,当我...转载 2019-07-27 19:51:34 · 5981 阅读 · 1 评论 -
分布式架构学习之:017--FastDFS分布式文件系统的安装与使用(单节点)
FastDFS 分布式文件系统的安装与使用(单节点)跟踪服务器:192.168.4.121 (edu-dfs-tracker-01)存储服务器:192.168.4.125 (edu-dfs-storage-01)环境:CentOS 6.6用户:root数据目录:/fastdfs (注:数据目录按你的数据盘挂载路径而定)安装包:FastDFS v5.05libfast原创 2017-05-11 21:07:17 · 723 阅读 · 0 评论 -
分布式架构学习之:031--FastDFS 集群的安装、配置、使用
FastDFS 介绍(参考:http://www.oschina.net/p/fastdfs) FastDFS 是一个开源的分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。 FastDFS 服务端有两个角色:跟踪器(tracker)和存储节点(sto原创 2017-05-16 17:42:02 · 741 阅读 · 0 评论 -
商城项目实战18:分布式文件系统FastDFS
品添加的实现,包括商品的类目选择,即商品属于哪个分类?还包括图片上传,对于图片上传这个功能,我们准备搭建一个图片服务器,专门保存图片。淘淘商城系列将使用分布式文件系统FastDFS。什么是FastDFS?FastDFS是用C语言编写的一款开源的轻量级分布式文件系统。它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特转载 2017-06-01 20:10:42 · 655 阅读 · 5 评论 -
商城项目实战20:使用FastDFS-Client客户端进行上传图片的测试
不久之前,我们实现了商品的类目选择这个功能,但这只是万里长征的第一步,我们还有很多事情需要做,例如怎样实现图片上传这个功能。本文就来教大家如何实现图片上传。图片上传分析我们知道,对于传统项目来说,所有的模块都在一个项目中开发,包括所有静态资源文件比如图片等,都存储在这一个tomcat服务器上,如下图所示。 如果访问量小的话,这样做问题倒不大,但是对于互联网项目来说,用户访问转载 2017-06-02 09:53:07 · 1386 阅读 · 0 评论 -
商城项目实战30:服务层加入Redis缓存
1. 需要做的事情1、 Redis服务搭建2、 为功能添加缓存功能 2. redis介绍2.1. 什么是redisRedis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下:字符串类型散列类型列表类型集合类型有序集合类型。2.2转载 2017-06-06 09:44:20 · 2605 阅读 · 1 评论 -
商城项目实战19:VMware添加已配置好的虚拟机
我们有时候会碰到虚拟机环境搭建特别麻烦,很容易出错的问题,而这时我们又刚好有别人或者自己以前搭建好的虚拟机,我们便可以把搭建好的整个虚拟机copy过来供自己使用。本文就来教大家怎样在VMware上打开已有的虚拟机。这里以我搭建好的FastDFS单机版虚拟机为例进行讲解。下载已配置好的虚拟机下面是我提供的一个搭建好的FastDFS单机版虚拟机的压缩包,大概727MB,如下:转载 2017-06-01 20:11:42 · 1542 阅读 · 4 评论 -
商城项目实战27:内容分类管理
通过上文的学习,我们已经学会搭建内容管理系统这个工程,本文我们就来学习如何进行内容分类管理。展示内容分类我们到后台管理页面看看关于内容管理的内容,如下图所示。 我们再来看下content-category.jsp页面,这个页面就是内容分类页面,页面中的是用来展示内容分类树的,$(function(){...})是在页面加载完后要调用的js代码,下面这段代码是用来获取分类列表转载 2017-06-02 10:13:38 · 2446 阅读 · 3 评论 -
商城项目实战32:商品详情页实现
无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。1. 需要做的事情l商品详情页实现1、商品查询服务事项 2、商品详情展示3、添加缓存2.实现商品详情页功能2.1.功能分析1、Taotao-portal接收页面请求,接收到...转载 2017-06-06 10:30:11 · 28778 阅读 · 1 评论 -
商城项目实战31:solar服务器搭建、搜索功能实现
1. 需要做的事情lSolr服务的搭建l搜索功能的实现1.1.系统架构2.Solr概述2.1.什么是SolrSolr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。Solr可以独立运行,运行在Jetty、To...转载 2019-07-27 19:51:14 · 11926 阅读 · 0 评论 -
分布式架构学习之:029--Redis3集群的安装、配置、高可用测试
参考文档 Redis 官方集群指南:http://redis.io/topics/cluster-tutorial Redis 官方集群规范:http://redis.io/topics/cluster-spec Redis 集群指南(中文翻译,紧供参考):http://redisdoc.com/topic/cluster-tutorial.html Redis 集群规原创 2017-05-15 17:13:24 · 480 阅读 · 0 评论 -
分布式架构学习之:028--ActiveMQ高可用集群(zookeeper+leveldb)安装、配置、高可用测试
从 ActiveMQ 5.9 开始,ActiveMQ 的集群实现方式取消了传统的Master-Slave 方式,增加了基于ZooKeeper + LevelDB的 Master-Slave实现方式,其他两种方式目录共享和数据库共享依然存在。 三种集群方式的对比: (1)基于共享文件系统(KahaDB,默认): (2)基于 JDBC: MyS原创 2017-05-15 16:58:13 · 784 阅读 · 0 评论 -
分布式架构学习之:027--ZooKeeper集群的安装、配置、高可用测试
Dubbo 建议使用 Zookeeper 作为服务的注册中心 Zookeeper 集群中只要有过半的节点是正常的情况下,那么整个集群对外就是可用的。正是基于这个 特性,要将 ZK 集群的节点数量要为奇数(2n+1:如 3、5、7 个节点)较为合适。 ZooKeeper 与 Dubbo 服务集群架构图服务器 1:192.168.1.81 端口:2181、2原创 2017-05-15 15:41:27 · 1909 阅读 · 0 评论 -
分布式架构学习之:026--Dubbo服务只注册
只注册(+) (#)问题如果有两个镜像环境,两个注册中心,有一个服务只在其中一个注册中心有部署,另一个注册中心还没来得及部署,而两个注册中心的其它应用都需要依赖此服务,所以需要将服务同时注册到两个注册中心,但却不能让此服务同时依赖两个注册中心的其它服务。解决方案可以让服务提供者方,只注册服务到另一注册中原创 2017-05-12 16:47:35 · 348 阅读 · 0 评论 -
分布式架构学习之:025--Dubbo服务只订阅
只订阅(+) (#)问题为方便开发测试,经常会在线下共用一个所有服务可用的注册中心,这时,如果一个正在开发中的服务提供者注册,可能会影响消费者不能正常运行。解决方案可以让服务提供者开发方,只订阅服务(开发的服务可能依赖其它服务),而不注册正在开发的服务,通过直连测试正在开发的服务。原创 2017-05-12 16:46:10 · 389 阅读 · 0 评论 -
分布式架构学习之:024--Dubbo直连服务提供者
直连提供者(+) (#)在开发及测试环境下,经常需要绕过注册中心,只测试指定服务提供者,这时候可能需要点对点直连,点对点直联方式,将以服务接口为单位,忽略注册中心的提供者列表,A接口配置点对点,不影响B接口从注册中心获取列表。(1) 如果是线上需求需要点对点,可在中配置url指向提供者,将绕过注册中心,多个地址用分号隔开,配置如下:(1.0.6及以上版本支持原创 2017-05-12 16:43:12 · 667 阅读 · 0 评论