README

ooowl
  • 系统设计
  • 系统设计
About 2 min

README

大致说一下这系列是干什么的。
设计一个系统,有结合业务进行设计的地方也有通用的模块,比如绝大部分的系统都会有的用户和权限模块IAM(Identity and Access Management),异步任务中心,日志等等。
虽然不同规模的系统,同样的模块设计也不相同,现在我心里也没有一个合适的标准,大致就按照自己经验来划分吧,现在是为了适应这个项目,暂时就照这个规模的做。

常见指标

Understanding DAU, WAU & MAU metrics | Adjust Help Centeropen in new window

一些生产规范

配置写入环境变量

配置文件最好写入环境变量,环境变量通常存储在系统级别的配置文件中,并且这些文件的访问权限受到严格控制。这样可以防止敏感信息(如数据库密码、API 密钥)被泄露或被不当访问。可以将配置和代码分离开来。这意味着在不同的环境中(开发、测试、生产),可以使用不同的配置,而无需更改代码。环境变量可以在运行时动态改变,而无需重新部署应用。例如,可以在不停止应用的情况下更新某些配置信息。在大多数编程语言和框架中,dotenv 都有相应的库或包。

# pip install python-dotenv


import os
from dotenv import load_dotenv

# 加载 .env 文件
load_dotenv()

# 读取环境变量
database_url = os.getenv('DATABASE_URL')
debug_mode = os.getenv('DEBUG')
secret_key = os.getenv('SECRET_KEY')

print("Database URL:", database_url)
print("Debug mode:", debug_mode)
print("Secret Key:", secret_key)

:::

放在读取env的同级目录下
```

my_project/
├── .env
├── main.py # 在这里(workdir)读取
├── requirements.txt
└── README.md

DATABASE_URL=postgresql://user:password@localhost:5432/mydatabase
DEBUG=True
SECRET_KEY=mysecretkey
```


Loading...