微服务之商城系统

文章目录

一、商城系统建立之前的一些配置

1、nacos

Nacos是一个功能丰富的开源平台,用于配置管理、服务发现和注册、健康检查等,帮助构建和管理分布式系统。

在linux上安装nacos容器的命令:

复制代码
docker run --name nacos-standalone -e MODE=standalone -e JVM_XMS=512m -e JVM_XMX=512m -e JVM_XMN=256m -p 8848:8848 -d nacos/nacos-server:latest

在项目中nacos主要用于存储配置文件信息。

2、Mysql

在Linux上安装mysql容器,使用逻辑卷保持数据持久化:

1.使用docker volume create命令,你可以在Docker中创建一个新的卷:

复制代码
docker volume create mysql_data

2.运行容器:

复制代码
docker run -d -p 3306:3306 --name mysqlx -v mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql

3、consul【暂时不使用consul注册服务】这个可以跳过

Consul是一个开源的服务网格解决方案,用于服务发现、配置和监控,帮助构建可靠的、可扩展的分布式系统。

获取consul的容器:

复制代码
docker run -d -p 8500:8500 -p 8300:8300 -p 8301:8301 -p 8302:8302 -p 8600:8600/udp consul consul agent -dev -client=0.0.0.0

设置为开机自启:

复制代码
docker container update --restart=always 60469d54d509

测试:

复制代码
dig @127.0.0.1 -p 8600 consul.service.consul SRV

做一个注册中心,用于健康检查。

4、redis

Redis旨在解决数据存储与处理中的性能、可靠性和功能丰富性等问题,包括缓存、会话存储、消息队列等应用场景。

启动redis容器:

复制代码
docker run -p 6379:6379 --name redisx -d redis:latest redis-server

二、grpc环境搭建

看这个博客即可完成搭建: grpc-go的搭建博客

三、微服务架构使用的protobuf

1、查看proto的版本号

复制代码
protoc --version

2、安装protoc-gen-go和protoc-gen-go-grpc

复制代码
go install google.golang.org/protobuf/cmd/protoc-gen-go
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc

3、生成protobuff以及grpc的文件

复制代码
protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative *.proto
相关推荐
孔令飞4 小时前
企业智能化升级:智能体平台设计和实现
云原生·go·ai编程
vipxieliang7 小时前
Go GC 性能优化实践:从 GOGC、GOMEMLIMIT 到分配优化
后端·go
小满zs1 天前
Go语言第十八章(架构设计)
后端·go
wdyan2972 天前
带着小白学习-微服务-5 实战:配置中心-数据库连接
数据库·学习·微服务
FungLeo2 天前
成为全栈·Go 后端篇·三轮代码审阅之后:把可读性和证据做成工程规则
golang·go·ast·静态检查·成为全栈·代码审阅
我不会起名字3222 天前
Redis 从 0 到 1(二十八):Redis 抖一下,重试把它打挂了——超时/重试/熔断的 Go 封装
redis·go·超时·熔断·重试
xyzzklk2 天前
变相解决华为Mate 8锁屏后无法建立入站网络连接
linux·运维·服务器·网络·华为·go·安卓
胡写代码3 天前
把数据库连接搬进配置中心,服务起不来:spring.config.import 的 4 个必填项
spring cloud·微服务
vipxieliang3 天前
语言对比卡:PHP vs Go vs Java 的优缺点、适用场景与「为什么选 PHP」
java·go·php
我不会起名字3224 天前
Redis 从 0 到 1(二十七):JSON 体积是 Protobuf 的 3.7 倍?3 种序列化的 Go 基准测试
redis·go·序列化·protobuf·messagepack