【微服务】Day18(秒杀业务完善、ELK简介、Nacos配置中心)

续 Docker命令

ps命令

docker ps

可以查看当前docker中运行的所有容器的状态

ps命令中常见的选项如下:

  • -a:显示所有容器,如果不加只显示正在启动运行的容器,停止的不会显示。
  • -l:显示最近的启动创建的容器。
  • -n=[数字]:显示最近n个容器。
  • -q:只显示容器id。经常和-a一起使用,获得当前宿主机所有容器id参数集合。

ps命令显示的标题内容如下

  • container id:容器id,很多操作容器命令都需要用到的参数。
  • image:容器创建使用的镜像。
  • command:容器中在运行的进程或者命令。
  • created:创建时间。
  • status:容器状态。
  • ports:容器的端口映射情况,这里没有用到端口。
  • names:容器的名字,启动没有指定–name选项,会默认使用一个名字。

stop\rm命令

docker stop 可以停止正在运行的容器

stop只是停止容器.并不会删除容器

如果想删除容器需要使用rm命令

注意:这里rm删除的是容器,不是本地镜像,和rmi命令要区分

首先使用docker ps命令查询所有正在运行的容器

docker stop [容器id]
docker rm [容器id]

rm的选项有:

-f:强制删除容器,无论是否运行都可以删除该容器,如果不加,运行的容器无法删除。

启动redis

docker search 搜索"redis"

拉取镜像参考之前的笔记

自己搜docker启动Redis的命令

docker run -itd --name redis-test -p 6379:6379 redis

启动之后可以本地访问客户端

docker exec -it redis-test redis-cli

【微服务】Day18(秒杀业务完善、ELK简介、Nacos配置中心)_第1张图片

关闭防火墙

如果当前windows系统要连接Linux中的资源

一般都要关闭Linux的防火墙

实际开发中,不会彻底关闭防火墙,而是开放指定的端口号

systemctl stop firewalld

system:系统

ctl:control:控制

酷鲨商城前台虚拟机

给大家的大压缩包

Virtualbox 4.15G

VMware 3.55G

解压之后启动

Linux:

用户名:root

密码:12345678(不要用小键盘)

启动后使用

ifconfig | more

观察ip地址

可以利用HS尝试连接虚拟机的数据库

一般情况下ip地址为:192.168.137.150

数据库密码是:

tarena2017Up;

注意分号也是密码的一部分,不写连不上

注意如果需要停止虚拟机,选择快速休眠,不要关机

酷鲨商城前台项目配置修改

因为现版本酷鲨商城连接的都是本地软件(mysql\redis\nacos等)

下面我们要连接的是虚拟机软件,所以要修改一下java项目的配置文件

front

addr: 192.168.137.150

mall-leaf

leaf.properties

leaf.jdbc.url=jdbc:mysql://192.168.137.150:3306/leafdb?useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true

leaf.jdbc.password=tarena2017Up;

mall-order

addr: 192.168.137.150

password: tarena2017Up;

mall-product

addr: 192.168.137.150

password: tarena2017Up;

mall-search

addr: 192.168.137.150

mall-seckill

addr: 192.168.137.150

password: tarena2017Up;

rabbitmq:
    host: ${
   my.server.addr}
    port: 5672
    username: user
    password: 123456
    virtual-host: /

mall-sso

addr: 192.168.137.150
# 有两个密码要改!!!!
    admin
      password: tarena2017Up;
    user
      password: tarena2017Up;

设置完毕之后,我们可以尝试测试其中的功能

例如新增订单

无需启动任何windows的软件(nacos\seata都不需要启动)

只需要启动模块内容即可

Leaf\product\passport\order

测试没问题表示虚拟机在正常工作

布隆过滤器的测试

因为上面我们启用了虚拟机

我们在虚拟机中安装的redis是一个特殊版本的Redis

这个版本内置了lua脚本,支持布隆过滤的方法

我们可以直接使用,实现布隆过滤器

csmall-stock-webapi的pom文件 添加依赖


<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-data-redisartifactId>
dependency>

在dev-yml文件中添加redis的配置

spring:
  redis:
    host: 192.168.137.150
    port: 6379
    password:

操作布隆过滤器有一个专门的类

实现对布隆过滤器的新增元素,检查元素等方法的实现

在酷鲨前台大项目中的seckill-webapi下的utils包里

RedisBloomUtils类复制到需要使用布隆过滤器的项目中

当前Stock模块

有一个周期输出时间的方法

我们可以借助这个运行,测试布隆过滤器的功能(如果这个方法已经编写了别的代码可以先注释掉)

quartz包下QuartzJob

// 操作支持布隆过滤器redis的对象
@Autowired
private RedisBloomUtils redisBloomUtils;

@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
   
    // 实现一个简单的任务做演示
    // 例如输出当前时间
    System.out.println("-------------------"

你可能感兴趣的:(微服务,elk,docker)